OrchidHall

Security & privacy

Stewardship begins with safekeeping.

Your supporters trust you with their names, their generosity and their reasons for giving. OrchidHall is built so that trust is protected at every layer, from sign-in to storage.

Your data, held in the EU

Donor records and files live in EU-jurisdiction storage by default, with a separate deployment available for US-only organisations.

Card data never touches our servers

Gifts are taken through Stripe Checkout and Connect. Webhook signatures are verified and every gift and receipt is written exactly once.

A complete record of who did what

Views, edits, exports, imports, logins and payment events are written to an audit log, reviewable in the app on the Big plan.

Identity & access

  • Single sign-on with OpenID Connect on the Big plan: PKCE, state and nonce, signed ID tokens, optional or required per organisation
  • Two-factor authentication (TOTP) for every user
  • PBKDF2 password hashing, account lockout and rate-limited sign-in
  • Emailed verification codes for new accounts; single-use, one-hour password-reset links that sign out every other session

Organisation boundaries

  • Every query is scoped to your organisation
  • Admin, fundraiser and read-only viewer roles
  • Single-use invitations that expire after seven days
  • API keys shown once, stored only as SHA-256 hashes, revocable at any time

Platform & transport

  • TLS everywhere at the Cloudflare edge
  • Strict Content-Security-Policy, Referrer-Policy and Permissions-Policy; the app cannot be framed
  • Cross-site request checks on every cookie-authenticated change; hashed session cookies
  • Request size limits and rate limits on sign-in and donation endpoints

Continuity

  • Point-in-time database recovery to any minute within the Time Travel window
  • Health checks, structured logs with request IDs, and a public status page
  • Full data export, so your records are always yours

Due diligence, welcomed.

For security questionnaires, data processing agreements or to report a vulnerability, contact our team.