What we do
to keep your data safe.
Substantive list of the controls actually in place β the kind of thing procurement asks for. If you need our SAQ-A attestation, internal RLS audit report, or a customized response to a security questionnaire, email abdallah@zayrev.com.
Application security
Postgres Row-Level Security on every multi-tenant table
100% RLS coverage across 95 tenant tables (audit dated May 10, 2026). Every read query from the operator-facing application enforces RLS via the user's JWT. Service-role bypass is reserved for webhooks, jobs, and the /backoffice cross-tenant surface β and even there we explicitly scope every query by organization_id.
Stripe Connect handles all card data
We never see, transmit, or store a full PAN. PCI scope reduced to the SAQ-A category (zero card data touched by our servers).
MFA available for every operator account
TOTP-based MFA via authenticator apps. Required for owner role on accounts with 2+ locations. Backup codes generated at enrollment and stored as bcrypt hashes.
HMAC-SHA256-signed webhooks with replay defense
Every webhook out of Zayos signed with t={timestamp},v1={hmac}. Verification rejects deliveries older than 5 minutes. Webhook secrets rotatable from /app/integrations.
Audit logs on every operator-initiated mutation
Order status changes, refunds, menu edits, member adds/removes, integration changes β all logged with actor user_id, role, and IP. Retained 13 months (SOC-2 alignment).
Rate limits on every cost amplifier
Auth, OTP, password-reset, magic-link, promo validation, order placement, and customer-help submission β all rate-limited per-IP Γ per-brand. 429 returns Retry-After header.
Transport + storage
TLS 1.2+ everywhere
HTTP traffic 308-redirected to HTTPS. HSTS preload on apex domain. Certificate auto-renewal via Let's Encrypt.
AES-256 at rest
Postgres + R2 file storage encrypted at rest by the provider. Backup snapshots are encrypted and retained 30 days.
Incident response
72-hour breach notification
If we become aware of a personal-data breach affecting your tenant, we email + call within 72 hours with: scope of data affected, timeline, remediation steps, regulatory-notification recommendations.
Public status page
Operational status at /status. We don't hide outages β incidents post automatically when health metrics degrade, before tickets land.
Compliance posture
SOC-2 Type 1: targeted Q3 2026
Internal RLS + access-control + audit-log audit completed May 10, 2026 (clean). External Type-1 attestation in progress.
GDPR + CCPA / CPRA
Data subject access, correction, deletion supported per /zayos/legal/privacy Β§7. SCC + UK Addendum available for EU/UK transfers.
PCI scope: SAQ-A
Stripe Connect handles all card data. Annual SAQ-A self-attestation on file.
v1.0 Β· Last updated May 10, 2026. We update this page when controls change.