Security at Prysm

Prysm is payment infrastructure — security and financial correctness come before everything else. Here is how we protect merchant and cardholder data.

Card data handling

Card data is captured and tokenized in the browser by our processor's hosted fields — raw card numbers are not accepted by Prysm's production API.

Tokenization

Every card becomes an opaque token before it reaches us. We store and charge tokens, never PANs. Server-side raw-card endpoints are disabled in production.

Encryption

All traffic is served over TLS (HTTPS enforced, HSTS). Data at rest — including hashed credentials and API keys — is encrypted by our managed database provider.

Credentials & secrets

Merchant passwords are hashed with bcrypt; API keys and session tokens are stored only as SHA-256 hashes. Sessions are revocable. Provider secrets live in a secret manager, never in code.

Least-privilege access

Admin surfaces are session-gated and not linked publicly.

Webhooks

Inbound processor webhooks are signature/credential-verified before any state change, and handlers are idempotent (deduped by event) so replays can't double-apply.

Money integrity

Amounts are integer minor units (cents) end to end — never floats. Charges are idempotent, and every transaction reconciles gross = net + fee to the cent.

Security questions or to report a vulnerability, email security@prysmsolutions.io.