Security

Built to protect the data behind every pass.

Wallet passes carry real customer and member data. Pocket is built with tenant isolation, encryption, and signed communication at every layer - not bolted on after the fact.

Talk to us

How it's protected

Security built into the platform.

Encryption in transit and at rest

All traffic runs over TLS. Data is encrypted at rest in our database and object storage.

Hashed API keys

Secret keys are never stored in plaintext - only a one-way hash. A key is shown once, at creation.

Tenant isolation by default

Every account's data is scoped with row-level security in the database, not just at the application layer.

Signed webhooks

Every webhook delivery is signed with HMAC-SHA256 so you can verify it genuinely came from Pocket.

Certificate-based wallet push

Apple Wallet updates are authenticated with mutual TLS against your pass-signing certificate, not a shared secret.

Scoped, revocable access

API keys carry explicit read/write scopes and can be revoked instantly from the dashboard.

Role-based dashboard access

Invite teammates with an admin or member role; access is scoped to the account they belong to.

Secrets kept out of application code

Runtime credentials are held in a managed secrets store, not in source control or environment files.

Infrastructure

Pocket runs on established, well-audited infrastructure providers rather than self-hosted, hand-rolled systems.

Hosted on AWS, fronted by CloudFront and a managed web-application firewall
Database and authentication run on Supabase (Postgres) with row-level security policies
Runtime secrets are pulled from AWS Secrets Manager, never committed to source
Deploys run through a reviewed CI pipeline with no direct production access

Questions about compliance?

If your team has specific security or compliance questions - data residency, a vendor security review, or anything else - reach out and we'll walk through it directly.