Passwords & passkeys
Passwords are hashed with Argon2id — never stored, never
recoverable, not by us. Passkeys are supported (fingerprint, face or
device PIN, phishing-resistant), and any account can add two-factor
codes from any authenticator app.
Sessions & the paper trail
Sessions are short-lived tokens with rotating refresh; refresh
tokens are revoked, never silently deleted. Failed sign-ins are
rate-limited, and every security-sensitive action is written to an
append-only audit log. Raw IP addresses are never stored — only salted
one-way hashes.
Your till connection
Square and SumUp connect over OAuth with read-only scopes: we can
read your items and sales totals, we cannot move money or touch a
payout. Access tokens are sealed with XChaCha20-Poly1305 under a master
key before they reach the database. Disconnect any time — the sealed
tokens are destroyed.
Your team, least privilege
Members can run the costing day-to-day but can't touch billing, API
keys or account deletion — those stay with the owner. Removing a member
cuts their sign-in immediately, and invitations expire on their own in
7 days.