Security

Your business data, isolated and auditable

Multi-tenant doesn't mean shared. Here's exactly how your operation is separated, protected and logged.

Tenant isolation by design

  • Every record is scoped to a client ID at the database layer
  • No cross-tenant query path exists in the API
  • Your fleet, customers, pricing and payments are yours alone

Payments, vaulted

  • Cards go straight to Stripe or Moneris vaults — never to our storage
  • Only masked tokens (Visa •••• 4242) are kept for display
  • Deposits, captures, voids and refunds carry a full audit trail

Authentication & sessions

  • JWT access tokens with refresh-token rotation
  • bcrypt password hashing, OTP-based password reset
  • Sessions revoked on reset — stolen tokens expire quickly

Role-based access

  • Platform admins, client admins, location managers, agents
  • Authorization enforced server-side on every endpoint
  • Location-scoped filters stop cross-branch access (IDOR-proof)

Abuse protection

  • Tiered rate limits on auth, public and staff endpoints
  • Webhook IP whitelisting for terminal callbacks
  • Structured request validation throughout

Audit & accountability

  • Sensitive actions written to an immutable audit log
  • Payment attempts tracked per invoice with reasons
  • Sign-in activity recorded per staff account

Responsible disclosure

Found something?

We take security reports seriously. Email us with details and we'll acknowledge within one business day.

Report an issue

Looking for product help instead? Contact support.