Privacy notice
Inno Nordic AB is the controller for the data described here. Last updated 4 August 2026.
What we store
Deliberately little. Everything in this list is something the service cannot work without.
| Data | Why |
|---|---|
| Your email address | Identifies the account and is the only way to reach you |
| A bcrypt hash of your password | To let you log in. The password itself is never stored |
| Your templates and their sample data | So later requests can send data only |
| API keys as SHA-256 hashes, plus a short prefix and the name you gave | To authenticate calls and let you tell keys apart. The key itself is unrecoverable |
| Plan state and Stripe customer and subscription identifiers | To know whether the subscription is active |
| Timestamps: account created, template updated, key last used | To show you when things happened |
What we do not store
- Rendered PDFs. A document is generated in memory and streamed back in the response. It is never written to disk or kept.
- The data you send to be rendered. It is used to produce the document and then discarded with the request.
- Card details. Stripe collects and holds those; they never reach us.
Logs
We keep structured request logs containing the account identifier, the size of the template, how long a render took, and the outcome. They do not contain template contents or the data you submitted.
Where it is processed
On Google Cloud in europe-west1 (Belgium) — Cloud Run for the service, Cloud SQL for the database. Payments are processed by Stripe. We use no analytics, advertising, or third-party trackers, and the pages load no external scripts or fonts.
If you use template import, the document you upload and the template generated from it are sent to Google to perform the conversion. That happens only when you choose to import a document — nothing is sent to a model otherwise, and no ordinary render, template or piece of your data ever passes through one. It is processed through Google's Vertex AI in europe-west1 — the same region as the rest of the service, so the document does not leave it. We do not keep the uploaded document after the conversion; only the resulting template is saved, in your account.
Our processors are therefore Google Cloud, Stripe, and Google for template import only. If you would rather no document of yours reached a model, simply do not use import: every other part of the service works without it.
How long we keep it
Until you delete it. There is no separate archive: deleting your account removes the account row and, by database cascade, every template and key belonging to it.
Your rights
- Deletion. Self-serve and immediate, from the billing page. It also cancels any active subscription.
- Access and portability. Your templates are retrievable at any time through
GET /v1/templateswith your API key, which returns them as JSON. - Correction. Templates and their names are editable in the app.
Security
Passwords are hashed with bcrypt and API keys with SHA-256. Sessions use signed, HTTP-only cookies. Templates are rendered by a browser that is blocked from reaching cloud metadata endpoints, so a submitted template cannot read our own credentials. Every database query for a template or key is scoped to the owning account.
Breaches
If data is exposed in a way that puts you at risk, we will tell you by email, and the relevant supervisory authority within 72 hours where the law requires it.