Skip to main content
Trust Center

Security & trust at GrantPilot

How we protect the data nonprofits and grant-seeking teams entrust to us. A living record — every claim below maps to a specific control in our codebase and infrastructure. If you need something we don't cover, email security@grantpilot.dev.

Last reviewed: June 12, 2026

Security controls

Encryption in transit

All traffic served over TLS 1.2+. HSTS enabled. Internal service-to-service calls use authenticated HTTPS.

Encryption at rest

Database volumes encrypted via provider-managed keys. Sensitive PII fields on student profiles are additionally encrypted application-side with AES-256-GCM before write.

Audit logging

Authentication events, account deletions, data exports, billing lifecycle, and org membership changes are recorded to an append-only audit log. Customers can review their own trail from the dashboard. Log rows survive user deletion via ON DELETE SET NULL so forensic review isn't foiled by account closure.

Access control

Row-level authorization on every API route: resources are fetched with an ownership check against the session's user ID before mutation. Admin access to production is limited to named engineers and requires MFA.

Infrastructure hardening

SSRF-resistant URL fetching (private CIDR blocklist), CSRF origin validation on state-changing requests, Stripe webhook signature verification, and cron endpoints authenticated via shared secret.

Incident response

Security incidents are triaged within 24 hours of detection. Material incidents affecting customer data are disclosed to affected customers within 72 hours, consistent with GDPR Article 33.

Subprocessors

GrantPilot uses the following third-party subprocessors to deliver our service. Each has its own Data Processing Agreement (DPA). We notify customers of material changes at least 30 days before a new subprocessor begins processing personal data.

SubprocessorPurposeDPA
Anthropic (Claude API)AI generation of grant applications and content optimizationView
SupabasePrimary Postgres database (application records, users, documents)View
VercelApplication hosting, edge compute, CDNView
StripeSubscription billing, payment processing, invoicingView
UpstashRedis-backed rate limiting and application cacheView
ResendTransactional email (alerts, digests, password reset)View

Compliance posture

We distinguish live commitments from work in progress. A status of "Supported" means a customer can exercise the right today through our product or a documented request process.

  • GDPR — Article 15 (access)Supported
  • GDPR — Article 17 (erasure)Supported
  • GDPR — Article 20 (portability)Supported
  • GDPR — Article 33 (breach notification)Policy in place
  • SOC 2 Type IIn progress (target 2026 H2)
  • SOC 2 Type IIPlanned (2027)
  • CCPA — data subject requestsSupported
  • HIPAA Business Associate AgreementNot offered

Your data rights

Every GrantPilot user can exercise the following rights self-service from account settings — no support ticket required.

Export
Download a JSON archive of your account, organization, applications, documents, and content library.
Delete
Permanently delete your account and associated data (excluding audit log rows retained for legal compliance).
Correct
Edit any profile or application record directly in the app.
Object / restrict
Email privacy@grantpilot.dev to restrict specific processing activities.

Report a security issue

Responsible disclosure is appreciated. Email security@grantpilot.dev with reproduction steps and any supporting evidence. We acknowledge reports within two business days and coordinate disclosure timelines with you.

For customer-specific processing questions, see our Data Processing Agreement.