Privacy
This statement is current as of September 16, 2026
Without an account, your values never leave this browser
Lab values are a special category of personal data under Article 9 GDPR. By default we never receive them. Only with a free account and your consent do we store an encrypted history.
- Calculated in the browser
- The ranking runs entirely in your browser. PDF reports are read locally and never uploaded. Figures leave the browser only after consent and with an account, and then only as ciphertext.
- No plaintext on the server
- Without an account we store no history. With an account the database holds only an encrypted blob, not a column per lab figure.
- Account is optional
- You need no registration and no email address to see the result. Saving needs a free account.
- No tracking
- No analytics scripts, no advertising, no affiliate links, no external fonts. A session cookie is set only after a magic link.
Without an account: no request containing your figures appears in the network panel. With an account the request carries ciphertext only.
Your lab values
The values you enter into the form or read from PDF reports are processed in your browser. The PDF files are not uploaded. Without an account we store no history, and a history from several reports disappears on reload. If you create a free account, the browser encrypts the history (AES-GCM) and sends only ciphertext. The database holds no plaintext lab figures. With the server-side key we could theoretically restore the blob; there is no admin path that does so. The legal basis for storage is your consent (Article 6(1)(a) and Article 9(2)(a) GDPR). You can delete the account and values at any time on the Data page.
What our database holds
The editorial effect and source data (markers, measures, effect rows, foods, literature) is entirely anonymous. After consent it may also hold a user account with an email address and an encrypted vault. There is no column per marker. Voluntary reports (bug, feature, idea) store title and text as plaintext plus the account link — never lab figures.
Processors
Hosting and delivery: Vercel. Database: Neon. Email: Resend. Payments for subscriptions already running: Stripe. None of these processors receive plaintext lab values. With an account, only ciphertext leaves the browser.
Where data is stored
Without an account, lab values never leave your browser. With an account the history sits as ciphertext in the database. The processors named above store data at their documented locations; plaintext lab figures are not among that data.
Server logs
When the page is requested, technically necessary connection data arises at the hosting provider, in particular IP address, timestamp, requested address and user agent. The legal basis is Article 6(1)(f) GDPR, our legitimate interest in secure operation. Plaintext lab values do not appear in the request path. Vault requests carry ciphertext only.
Cookies and tracking
Without an account we set no cookies. After a magic link we set a technically necessary session cookie (offset_session, HttpOnly, SameSite=Lax) so you stay signed in. We use no analytics or audience measurement, no advertising networks, no social media embeds and no affiliate links. Fonts and all other assets are served from our own server. Between requesting and opening the link this tab may hold a temporary copy in sessionStorage; it is cleared after the vault is stored.
Your rights
You generally have the right to access, rectification, erasure, restriction of processing, data portability and objection, as well as the right to lodge a complaint with a supervisory authority. Without an account we never received your lab history. With an account you can delete the stored history yourself on the Data page; the account and the ciphertext are then removed.
Controller
The controller is tiny web GmbH, Hartwaldstraße 15, 81377 Munich, Germany. OFFSET.health is a product of this company. Email: offset-health@tinyweb.com. Further details are listed in the imprint.
Optional user area
The passwordless area via magic link is in operation and usable only with explicit consent. An encrypted history is created with the free account. Values are encrypted before leaving the browser. The server holds a wrapped key so you can restore the history after a new sign-in. PDFs are not stored.
Bugs, features and ideas
If you send a report while signed in, we store title, text, type and the link to your account. That is product feedback, not lab values. Please do not paste figures from your report. Deleting the account removes these rows.
Existing subscriptions and Stripe
New subscriptions are not offered. For a subscription already running, Stripe as a processor receives email, payment details and subscription status. Lab figures, weight and height do not go to Stripe. Invoice mail comes from Stripe. The optional weekly mail from us names measures, the editorial dose and typical study waiting times, never your figures. The language follows the URL last used in the app (/de or /en). The legal basis for an existing subscription is contract (Article 6(1)(b) GDPR). You can cancel it in the customer portal.