Security
How the system is built, in enough detail to evaluate it.
No passwords to steal
Raconteur has no password authentication and never will. Sign-in goes through an identity provider you already trust. There is no password database to breach, no reset flow to social-engineer, and no credential to reuse across sites.
Isolation is enforced by the database
Every table carries row-level security policies, so access rules are evaluated by Postgres on every query rather than by application code that could forget a check. A bug in a page or an API route cannot return another account’s data, because the database itself refuses to send it.
No tracking, by construction
There are no analytics scripts, advertising pixels, or session recorders on this site. We did not turn them off — we never added them. Where a paid API is involved, the call is proxied server-side so that vendor keys never reach your browser and third parties do not see your IP address.
Payments
Card details go directly to Stripe through their hosted checkout. Our servers never receive, process, or store them, which keeps our PCI scope at the minimum tier.
Delegated access is auditable
When an assistant acts on a principal’s account, the audit log records the assistant’s own identity alongside the account they were acting for. Delegates cannot change account ownership, manage other delegates, or issue API tokens. Revocation is immediate — the grant is re-checked on every request, not cached in a session.
Ongoing
- Data encrypted at rest and in transit.
- Weekly automated vulnerability scanning against production.
- Strict content-security policy; no inline eval.
- Rate limiting on every externally-facing API route.
Reporting an issue
Email security@treducks.tech. We’ll acknowledge within two business days.