Security & Threat Model
- No account, no email, no password — your workspace is an anonymous ID in a cookie.
- No bank connection: you upload statement files you export yourself.
- Uploads are parsed and stored server-side in your own isolated workspace, deletable with one click.
- No third-party analytics, no ads, no tracking scripts, no data resale.
- Pinke never calls an AI provider. If you want AI help, your own LLM reads your data through a scoped token you create and can revoke.
There is no signup. On your first visit (after the cookie-consent click) Pinke creates a random user ID and stores it in an HttpOnly cookie with a signed session token. No email address, no password, no personal identifier is collected. Moving to another device works via a QR-code transfer, not via an account.
The flip side, stated honestly: lose the cookie without exporting or transferring first, and the workspace is orphaned. There is no password-reset because there is nothing to reset.
Uploaded statements (CSV/PDF) and e-invoices (XRechnung/ZUGFeRD) are sent over TLS to the server, parsed there, and stored in a per-user workspace together with the derived transaction rows, your rules and settings. Pinke is a server-side application — it is not a purely client-side tool, and this page will not pretend otherwise.
What the server does not do:
- No connection to your bank — there is nothing to connect; you export files yourself.
- No third-party analytics or ad scripts anywhere. Page-view counting is first-party only (path and external referrer domain), used solely to see which pages are read.
- No sharing or selling of data. Infrastructure providers (hosting/storage) process data only to run the service.
Deletion is real: your profile page deletes individual uploads or the entire workspace including every derived row. Demo data seeded for first-time visitors is automatically purged the moment you import your own statement.
Pinke runs no LLM and holds no AI provider keys. AI assistance is inverted: instead of Pinke sending your data to a provider, your own assistant (ChatGPT, Claude, any agent) reads from Pinke's data API — but only after you generate an access token.
- Tokens are scoped, revocable and expire after 7 days.
- The API serves minimized data: transaction clusters, categories and rules — not raw statement files.
- Every AI write (e.g. a suggested rule) is validated and tagged
ai-created, so you can audit and remove it. - The full API manual is public at /api/ai/llm.txt.
Consequence: which AI sees your data, and under which privacy policy, is entirely your choice — including choosing none.
An honest threat model names its trust anchors. When you use Pinke you trust:
- The operator. Data is processed server-side, so the operator could technically access it. The mitigations are minimization (no identity attached to your workspace), one-click deletion, and the policies on the privacy page. Pinke is currently closed-source, so this is a trust statement, not an audited claim.
- TLS for transport between your browser and the server.
- Your own device and browser — the cookie is the workspace key.
What you explicitly do not have to trust:
- Your bank's API connectivity or a screen-scraping aggregator — neither exists here.
- Any AI provider — unless you connect one yourself, and then only the one you chose.
- An advertising or analytics network — none are present.
Found a security issue? Mail info@pinke.pro — reports are read by the developer, not a ticket queue. Please include steps to reproduce; good-faith research is welcome.