🔐
Identity & Access
Provided by Clerk
- ✓
Clerk is SOC 2 Type 2 and HIPAA certified, and complies with GDPR and CCPA.
- ✓
Multi-factor authentication is available and can be required for every member of an organization — no one reaches protected content until they've enrolled.
- ✓
Passwords, when used, are never visible to us — Clerk owns the entire credential lifecycle, including breached-password detection and bot-signup protection.
- ✓
Session management includes active device monitoring and the ability to revoke a session immediately.
- ✓
Clerk undergoes regular third-party security audits and penetration testing of its own platform.
- ✓
Every organization's people, roles, and membership are managed and enforced by Clerk directly — we never store a password ourselves.
☁️
Infrastructure
Provided by Cloudflare
- ✓
Every request passes through automatic DDoS protection at the network, transport, and application layers before our code ever runs.
- ✓
A Web Application Firewall with managed rulesets covering the OWASP Top 10 sits in front of the application.
- ✓
All traffic is encrypted in transit via TLS — there is no unencrypted path to or from the application.
- ✓
The application runs in an isolated execution sandbox per request, not a shared long-running server process, which limits what one request could ever affect.
- ✓
Application data is stored in Cloudflare's managed database and object storage products, encrypted at rest, with no server for us to patch or misconfigure.
- ✓
Cloudflare operates a global network with continuous hardening against emerging attack classes, including active research into side-channel isolation risks affecting the broader serverless industry.
🗂️
Source Control & Change Management
Provided by GitHub
- ✓
Source code lives in a private repository — it is not publicly readable.
- ✓
Dependency vulnerability scanning is enabled, with automatic pull requests to patch known-vulnerable packages.
- ✓
Every change is committed with full history and author attribution — nothing is deployed anonymously or edited in place on a live server.
- ✓
Deployments run through an automated pipeline that must pass a type-checking gate before anything reaches production — a class of bug (mismatched data shapes) is caught before deploy, not after.
- ✓
Application secrets (API keys, signing secrets) are stored as encrypted platform secrets, never committed to source control.
🛡️
What We've Built
Application-level, our own code
- ✓
Every request is authenticated by a Clerk-verified session token — there are no passwords or session identifiers of our own invention.
- ✓
Every request resolves which organization it belongs to from the verified session, never from a value the client supplies — one organization's data cannot be requested by naming another organization's ID.
- ✓
Access to paid and premium features is enforced on the server for every request, not just hidden in the interface — a request that shouldn't succeed is rejected outright, not merely hidden from view.
- ✓
All incoming data is validated against a strict schema before it's used — malformed or unexpected input is rejected with a clear error rather than processed.
- ✓
Incoming webhooks (billing events) are cryptographically signature-verified before being trusted — an unsigned or forged request is rejected.
- ✓
Platform-administrator access is re-verified against Clerk's live records on every request, not cached or trusted from a token claim.
💳
Payment Data
- ✓
Card numbers and billing details are entered directly into a Stripe-hosted form and never pass through our servers in any form.
- ✓
Stripe is a PCI-DSS Level 1 certified payment processor — the highest level of certification in the industry.
📋
Where We're Still Maturing
We'd rather tell you what's not done yet than let you assume it is. None of the items below are hidden from our own team — they're on our roadmap, not swept under a rug.
Honestly, not yet in place
- No independent SOC 2 or ISO 27001 certification of Inspire Generosity itself — our infrastructure providers (Clerk, Cloudflare) are certified; we have not yet completed our own third-party audit.
- No formal third-party penetration test of the application has been conducted yet.
- Branch-protection rules and GitHub secret scanning are not yet enabled on our repository — both require a plan upgrade we haven't completed.
- No public bug bounty or coordinated disclosure program yet — see below for how to report a concern in the meantime.
- No published data retention or deletion policy yet — reach out directly if this is a blocker for your review.