Security
CertTrackr exists to protect you from an uninsured vendor slipping through, so protecting the data you trust us with is the job. Here is how it works, in plain terms.
Tenant isolation
Every customer’s data lives behind database-level Row-Level Security. A query can only ever return rows belonging to the signed-in user’s organization, the rule is enforced by Postgres on every request, not by application code that could forget a filter. One customer can never see another’s vendors, documents, or reminders.
Document storage
Uploaded certificates (COIs, W-9s, SOC 2 reports, licenses) are stored in a private bucket that is not publicly reachable. Files are served only through short-lived, signed links generated per request for the authenticated owner, there are no public URLs to your documents.
Encryption in transit
All traffic to the application and its APIs is served over HTTPS/TLS. Payment details are handled entirely on Stripe’s hosted checkout, card numbers never touch our servers.
Least-privilege access
The keys that can read across tenants are server-only and never exposed to the browser. Billing status is written only by Stripe’s verified, signature-checked webhook; users cannot alter their own subscription or move between organizations.
Sub-processors
We rely on a small set of vetted infrastructure providers: Supabase (database, authentication, file storage), Vercel (application hosting), Stripe (payments), and Resend (transactional email). Document text extraction, when enabled, is processed by our AI provider; see our Privacy Policy for the current list.
Data ownership & export
Your data is yours. You can export your vendor and compliance records at any time, and deleting your account permanently removes your organization’s data and cancels billing. Request a full export (records plus document files) any time at support@certtrackr.org.
Questions from your security team?
We’re happy to walk through our architecture or complete a vendor-security questionnaire. Email support@certtrackr.org.