Account

Security

How your workspace is kept apart from everyone else's, and what happens to the credentials you hand over.

Separation between workspaces

Every table holding customer data is fenced at the database itself, not in application code. A query that forgets which workspace it is asking about returns nothing at all rather than someone else's data. The failure mode is an empty screen, never a leak.

Your WhatsApp credentials

An access token is enough to send as your business, so tokens and app secrets are encrypted before they are stored. The key is held by the application and never reaches the database, which means a copy of the database on its own is useless.

Passwords and sessions

ThingHow it is handled
PasswordsHashed with argon2id. They cannot be read back, including by us.
Sign-inA failed attempt takes the same time whether or not the email exists, so nobody can probe for accounts.
SessionsA short-lived token in memory, plus a refresh cookie replaced on every use.
A stolen refresh tokenReusing an old one signals theft, and every session for that person is ended.

Webhook authenticity

Meta signs every event it sends. Sendrix checks that signature and rejects anything that fails, so a forged delivery cannot inject fake replies or receipts. See Webhooks.

History that cannot be rewritten

The audit log and the credit ledger can be added to but never edited or deleted. This holds at the database level, so a bug or a compromised account cannot quietly rewrite what happened.

Attachments

Files sent to you are copied into private storage. Links to them are signed and expire, so a URL shared by accident does not stay open indefinitely.

Reporting a problem

If you find a security issue, contact us directly rather than opening a public issue, and give us time to fix it before sharing details.