Privacy

The short version: your documents are not stored. What we keep is the minimum needed to run an account and a credit balance.

This document is not yet finalised. The controlling legal entity, the governing jurisdiction and the contact address are marked below and must be completed, and the whole document reviewed by a qualified adviser, before this product takes money from the public.

Your documents

Files you send are held in memory for the length of the request, never written to persistent disk, never used to train anything, and gone when the response ends. The mechanisms behind that claim, and the three places it does not apply, are set out in what happens to your files.

What we store

DataWhy
Email addressIdentifies the account and receives sign-in codes and results.
Google subject IDIf you sign in with Google. Never the password, which we never see.
API key hashesSHA-256 of the key. The key itself is never stored, so a database leak yields no working keys.
Job recordsOperation name, status, credits, timestamps and an error code. Never the document.
Credit ledgerAppend-only rows for purchases, holds, settlements and refunds.

There is no password, on either sign-in method, so there is nothing to leak and no reset flow to attack.

Sub-processors

These are the services that can see something. There are no others.

ServiceRoleWhat it can see
Fly.ioRuns the API and the document runnerRequests in transit and in memory
NeonPostgres databaseAccount email, key hashes, job records, credit ledger
StripePaymentsBilling name, email and card data — we never see the card
ResendSending the sign-in code and resultsEmail address, message contents
SentryError reportingStack traces and request metadata, never file contents
Cloudflare R2Evidence vault, opt-in onlyCaptures you explicitly chose to retain

Your rights

You can ask for a copy of what is stored against your account, ask for it to be corrected, or ask for the account to be deleted. Deleting an account removes the email, the keys and the job records; the credit ledger rows are retained where we are required to keep records of payments.

Requests go to [CONTACT ADDRESS — to be set].

Controller and jurisdiction

The data controller is [LEGAL ENTITY — to be set], and this policy is governed by the laws of [JURISDICTION — to be set].

Changes

Material changes will be published here with a new date. Continuing to use the service after a change means accepting it.