Isolation lives in the database
Which workspace a request belongs to never comes from the request itself: it comes from your session or your API token. Every table with workspace data carries row level security, an access policy enforced by Postgres, and the application connects with a role that cannot bypass it. A query without workspace context returns nothing: it fails closed.
History does not get rewritten
Audit events and funnel movements are append-only by database trigger: the database refuses update and delete, with no dependence on discipline. Each event carries the hash of the previous one, forming a chain per workspace. Changing one line invalidates every line after it.
The exit door stays unlocked
Contacts, deals and history export on every plan, including the free one. Taking your data out is your right, not a feature of an expensive tier.
Secrets never reach a log
Tokens, passwords, one-time codes and the contents of customer files are never written to logs. If you ever see one in an exported log, treat it as a bug and tell us.
Consent is real opt-in
The cookie choice is resolved on the server, and no choice counts as refusal. Your browser’s Global Privacy Control signal already counts as refusal, without asking again.
The contract returns with evidence
The signed proposal comes back with a timestamp, signature evidence and a trail, and that same event moves the deal to won, with your customer as the author. The signature runs on Qsignyx, built by the same company.