Security & Trust
How your data is isolated, encrypted, and handled. We describe only what the product actually does.
Each customer is an organization. Every tenant table carries an org_id with deny-by-default Row-Level Security, and a membership helper (app.current_user_org_ids()) scopes every query to the caller's org.
A cross-tenant leak test (tests/leak.test.ts) and a structural coverage report (rls_coverage_report()) are required CI checks, and merges are blocked on failure. Billing state is backend-locked: even an org owner cannot forge a plan, an entitlement window, or a pack allowance (credit_ledger is append-only and backend-write-only; the entitlement columns on the organization are not user-writable).
TLS in transit; encryption at rest via Supabase. The privileged service role is used only by the offline worker, never in a user-facing request path.
| Subprocessor | Purpose |
|---|---|
| Anthropic | LLM drafting (receives only question text + retrieved snippets) |
| Voyage AI | Embeddings (voyage-3) + reranking (rerank-2.5) |
| Supabase | Postgres/pgvector, Auth, Storage |
| Vercel | Application hosting |
| Resend | Transactional email (sign-in links; receives only your email address) |
| Dodo Payments | Billing and Merchant of Record. Card data never touches our servers; remits global VAT/GST/sales tax; hosted checkout & customer portal |
| Fly | Worker host that runs questionnaire parsing, answer drafting, and data-deletion jobs |
| ForwardEmail.net | Inbound mail relay for security@solverfp.com. Relays what you send us to the mailbox below; hosts no mailbox of its own |
| Google (Gmail) | The mailbox security@solverfp.com delivers to. Holds whatever you put in a CAIQ, DPA, or data request |
| Sentry | Error diagnostics. Receives the exception type, the stack trace, and the route that failed; PII capture is off and no Customer Content is sent |
Last updated: 27 July 2026.
SolveRFP trains no models. Not on your data, not on anyone's. Our AI subprocessors run under no-training terms too: Anthropic's commercial terms prohibit training on customer content, and Voyage is configured with training opt-out and zero data retention (your text is deleted after it is processed).
Egress is minimal: only the specific question text and retrieved snippets (top-20 retrieved → reranked to 6) are sent, never your whole SOC 2 or Answer Bank.
An organization owner can permanently delete the organization from Settings → Security. Deletion removes every tenant table (on delete cascade), explicitly erases your uploaded files from object storage, and deletes the member account identities that belong only to this organization.
Billing and tax records held by our Merchant of Record (Dodo Payments) are retained only as long as the law requires. Cancel an active subscription in the billing portal before deleting so it is not charged again.
We are early and hold no formal certification yet. We report our status honestly and make no certification, “compliant,” or zero-data-retention claims we cannot stand behind. The controls above (tenant isolation, encryption, no-train, self-serve deletion) are what we actually do, enforced in code.
We dogfood SolveRFP on our own security posture: our answers live in the same Answer Bank the product drafts from. A copy of our answered CAIQ is available on request.
Request our answered CAIQA DPA is available on request for customers who need one.
Request a DPAFlat, transparent plans, metered by the questionnaire, not by the token or the question, with no usage credits to buy.
- Starter, $149/mo (or $1,490/yr): up to 3 questionnaires per month and up to 1,000 drafted answers per month (fair use).
- Team, $399/mo (or $3,990/yr): unlimited questionnaires and up to 3,000 drafted answers per month.
- Question packs (no subscription): $199 for 1 questionnaire (90-day) or $499 for 3 questionnaires (365-day).
- Renewal and cancellation: subscriptions renew automatically until you cancel, monthly or annually depending on which you bought. You cancel yourself from the billing portal in the app. Cancelling stops the next charge and leaves the plan working until the end of the period you already paid for, after which the account goes read only: the Answer Bank is kept and stays searchable, drafting and exporting stop.
Free accounts can draft and review up to 100 answers in total, not per month; a paid plan or pack is required to export the filled file. See full pricing.