Security & Trust

How your data is isolated, encrypted, and handled. We describe only what the product actually does.

Data isolation

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).

Encryption

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.

Subprocessors
SubprocessorPurpose
AnthropicLLM drafting (receives only question text + retrieved snippets)
Voyage AIEmbeddings (voyage-3) + reranking (rerank-2.5)
SupabasePostgres/pgvector, Auth, Storage
VercelApplication hosting
ResendTransactional email (sign-in links; receives only your email address)
Dodo PaymentsBilling and Merchant of Record. Card data never touches our servers; remits global VAT/GST/sales tax; hosted checkout & customer portal
FlyWorker host that runs questionnaire parsing, answer drafting, and data-deletion jobs
ForwardEmail.netInbound 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
SentryError 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.

No-train & data usage

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.

Retention & deletion

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.

Compliance

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 run it on ourselves

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 CAIQ
Data Processing Agreement

A DPA is available on request for customers who need one.

Request a DPA
Pricing

Flat, 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.