All docs

Team & security

Security, sessions & 2FA

Passwords, devices, OTPs, and how we protect your data.

Every write is authenticated. Every table has row-level security so one pharmacy's data can never leak into another's, even by accident. Here's what you need to know as an operator.

Device sessions

Under Settings → Security & devices, see every device signed into your account. You can:

  • Revoke a single device (someone's phone that was stolen, a shared computer).
  • Sign out of all devices in one click — useful before you sell or return a laptop.
  • Toggle Show revoked to keep the list clean; revoked sessions are hidden by default.
  • Owners can also see all team-member devices, with the same revoke controls.

2FA for destructive actions

Deleting an outlet requires password re-authentication + email OTP. Nothing destructive happens without both. The OTP arrives at your registered email; it's a 6-digit code valid for 10 minutes.

Login notifications

Turn on Notify me of new logins to receive an email whenever your account is signed in on a new device. Recommended for owners and managers.

Password rules

  • Minimum 8 characters. We don't enforce mixed case + symbol nonsense — length beats complexity, always.
  • Stored as bcrypt hashes. Plain text never touches disk.
  • Reset link is one-time, expires in 30 minutes, invalidates all other sessions on use.

What we never do

  • Store passwords in plain text.
  • Share data across pharmacies. Row-level security enforces isolation at the database.
  • Sell or resell your data. Ever.
  • Access your data internally without your permission, except for support cases you initiate.

Still stuck?

Email us at support@pharmapos.org — we usually reply within a business day.