← revvyn.com

Security Whitepaper

How Revvyn protects payment data and enforces governance.

Encryption

LayerMethodStatus
In transitTLS 1.3 (HTTPS-only, HSTS)
At restPostgreSQL TDE (Render managed encryption)
API keysSHA-256 hashed, raw never stored
WebhooksHMAC-SHA256 signed payloads

Authentication & Authorization

ControlImplementation
API authenticationSHA-256 hashed API keys via X-API-Key header
Multi-tenancyTenant-scoped queries + PostgreSQL Row-Level Security
RBAC4 roles: admin, operator, auditor, readonly (12 permissions)
SSOSAML/OIDC integration stubs (ready for enterprise IdP)
Rate limitingPer-tenant via slowapi with X-RateLimit headers
IP allowlistingOptional CIDR restriction per tenant

Audit & Compliance

ControlSOC2 Mapping
Immutable audit trailCC7.2, CC7.3 — PostgreSQL trigger prevents UPDATE/DELETE
7-year retentionP4.2 — server_default retention_until
Auth event loggingCC7.2 — every key validation logged
Request tracingCC7.2 — X-Request-ID on every response
Admin action auditCC6.1 — policy changes, key rotations logged
Compliance reportsCC7.4 — JSON/CSV export for auditors

Data Protection

Data sovereignty: All data stored in Frankfurt, Germany (EU). PostgreSQL 16 on Render.

GDPR: Audit data retained under legal obligation (Art. 6(1)(c)). Right to erasure does not apply to legally required retention (Art. 17(3)(b)).

Backup: Automated daily backups with point-in-time recovery. RTO <1 hour, RPO <5 minutes.

Application Security

PracticeImplementation
Input validationPydantic models on all API inputs
SQL injectionSQLAlchemy ORM (parameterized queries)
XSSAPI-only (JSON responses), no server-rendered HTML
CSRFAPI key auth (not cookie-based)
Dependency scanningsafety + Trivy in CI
SASTbandit in CI (zero medium/high findings)
Secret scanninggitleaks in CI

Infrastructure

Platform: Render (SOC2 Type II certified).
Docker: Multi-stage build, non-root user, no debug tools in production.
CI/CD: GitHub Actions — lint, security scan, test, Docker build + Trivy vulnerability scan.

For security inquiries: daniel@revvyn.com