Skip to content
Claripick
Menu

Trust and security

The controls in place today, and the ones we have not built yet.

Written for the person doing due diligence on us: a funder, an auditor, a board member, or the treasurer who has to sign off on the software. It mirrors the security note kept in our repository for maintainers and is not allowed to say anything softer than that note does.

Reviewed 10 Sep 2026, alongside the repository security note.

Where your data lives
in place

Every part of the workspace that carries substance is in Google Cloud's Johannesburg region: grants, deadlines, budgets and financial figures, uploaded documents, funder and donor records, evidence notes and the audit trail. The database and the file storage are both in region, and every Cloud Function is pinned to it in code, so a new function cannot quietly be created elsewhere. Scheduled jobs that send reminders, build digests, run accounting sync and purge deleted workspaces are invoked privately by Cloud Scheduler and cannot be triggered from the public internet.

What leaves the country
disclosed

Three ancillary functions: sign-in on Firebase Authentication, which holds your email address and account identifier and nothing else; reminder and digest email through Resend in the United States, carrying titles, dates and links only; and the optional accounting sync, which reads tagged ledger lines from Xero, QuickBooks Online or Sage. Each is disclosed under section 72 of POPIA in sections 5 and 6 of the privacy notice.

Backups and recovery
in place gap

Data sits on Google Cloud's managed database and storage services, which replicate within the Johannesburg region and cycle backups on a rolling schedule at the platform layer. Deleting a workspace is reversible for 30 days before the purge job erases it. An administrator can export the full workspace as JSON at any time from Settings, then Your data.

not yet in placeNo published point-in-time recovery window and no tested restore procedure with a stated recovery time objective. Until we have run and documented a restore drill we will not claim one. If your funder or auditor needs a recovery commitment in writing, write to us and we will tell you exactly where we are.

The audit trail
in place

Every sensitive change is written by server-side triggers, not by the browser, so the record exists whether or not the person meant to leave one. The trail is append-only: entries are never edited or deleted through the product, and the security rules expose no update or delete path on it. Resolutions and board decisions work the same way. We say append-only rather than tamper-proof, deliberately: anyone with sufficient privileges at the cloud provider level, ourselves included, operates below the application. That is true of every hosted product.

Who can see what
in place

Access is scoped per organisation and per role. Separation between workspaces is enforced in the database and storage security rules, keyed on the signed-in user's authentication claims, and every server-side operation re-checks the caller's role rather than trusting the browser. Financial records are restricted to administrators and the finance role. Field evidence capture is restricted to administrators, editors and field officers. Paying money out needs two people: prepared by one, approved by another, enforced on the server. The 7 roles: Administrator, Editor, Finance, Field Officer, Reviewer, Board Member, Viewer.

Sign-in and two-factor authentication
in place gap

Email and password through Firebase Authentication over TLS, with Google's protections against credential stuffing and password reset abuse behind it. Sessions are token-based and an administrator can remove a person's access immediately, effective on their next request. Data is encrypted in transit and at rest. Accounting credentials are encrypted a second time at the application layer, with a key held in Secret Manager away from the database.

not yet in placeTwo-factor authentication is not available yet, and there is no way for an administrator to require it across a workspace. It is the control we are asked about most. Until it ships, use a password manager and a unique password, and assign the finance role sparingly.

Reporting a security issue
in place

Write to security@claripick.com with what you found, how to reproduce it, and how to reach you. We will confirm receipt, work the issue, and tell you what we did. We will not take legal action against someone who reports a genuine issue in good faith and gives us a reasonable chance to fix it before publishing. If a breach compromises personal information we will notify the Information Regulator and the affected users, as section 22 of POPIA requires. We do not run a paid bug bounty; we have no budget for one yet and would rather say so.

Sub-processors

Everyone who touches your data, including the two not switched on.

We will give reasonable notice before adding to this list.

Provider Where What Status
Google Cloud and Firebase Johannesburg, africa-south1. Firebase Authentication is global. Hosting, database, file storage and sign-in. Every Cloud Function is pinned to africa-south1 in code, before any function is defined. live
Resend United States Reminder and digest email. Receives the recipient address and a message carrying titles, dates and links only. Never a financial figure or a beneficiary detail. live
Xero, QuickBooks Online, Sage Outside South Africa Optional accounting sync. Reads only the ledger lines you have tagged to grants. OAuth tokens are sealed with AES-256-GCM using a key in Secret Manager, separate from the database. Nothing is read until an administrator connects one. live
Paystack South Africa Card and EFT billing for paid plans. Card details go to Paystack and are never stored on our systems.
Scaffolded behind a configuration gate. No payment provider key is wired in production.
not live
Meta, WhatsApp Business Outside South Africa Optional WhatsApp deadline reminders, carrying titles and dates only.
Scaffolded behind a configuration gate, not yet live.
not live

Information Officer

Who to write to about personal information.

Under POPIA, Claripick has a designated Information Officer who handles access, correction and deletion requests and is the point of contact for the Information Regulator of South Africa. Write to privacy@claripick.com. We respond within the periods POPIA prescribes, and our PAIA section 51 manual is available on request.

Your organisation is the responsible party for what it stores in its own workspace; we are its operator. Your organisation needs its own Information Officer too, and the product tracks that appointment as a compliance deadline like any other.

Known gaps

The list we would rather you read here than find out later.

If any of this is a blocker for your organisation, say so and we will tell you honestly whether it is weeks away or not on the plan.

Two-factor authentication
Not built yet, and no way to enforce it across a workspace.
Restore drill
No published point-in-time recovery window and no documented, tested restore.
External testing and certification
No external penetration test, and no SOC 2 or ISO 27001 certification. We are a young company and have not bought either yet.
Billing and WhatsApp
Paystack billing and WhatsApp reminders are built but sit behind configuration gates, not live in production. Paid plans are invoiced by EFT in the meantime.
Dependency advisories
A small number of moderate advisories remain in the Google Cloud libraries bundled by the Firebase Admin SDK. The only fix npm offers is a four-major downgrade of that SDK, which would lose more security than it gains, so we track them and will take the upstream fix when it ships. These libraries run inside our own server functions, not on attacker-controlled input paths.