Data security
Financial data needs strict rules. Here is how Centa AI handles data today — without promises we cannot back up.
Company isolation and permissions
- Every data request is authorised against the company the data belongs to — never an id taken from the URL or request body.
- Roles: owner, admin, accountant, viewer, employee. Only owners and admins change the plan, users and payments.
- A security test suite (59 scenarios) checks that one company cannot read another’s data; we run it before releases.
Keys and sign-in
- Access keys for banks, Didox and 1C are encrypted (AES-256-GCM) and never shown again after saving — only a mask.
- The session lives in a signed HttpOnly cookie; Telegram sign-in is verified against Telegram’s signature.
- Signing keys stay on the user’s device: Centa stores only the public key.
Files, audit and analytics
- Documents are kept in private storage; viewing uses a link valid for 10 minutes.
- Every accounting decision is written to an audit trail: old and new state, who and when.
- Product analytics stores event codes only — no amounts, counterparty names or question text.
Where the data is hosted
The application runs on Railway (a region in the Netherlands); the database and files are on Supabase (Frankfurt, Germany).