Your financial data, protected by design
ArcPay runs on infrastructure trusted by thousands of finance teams, with isolation, encryption, and Singapore data residency built into every layer.
SOC 2 Type 2 infrastructure
Runs on Supabase and Vercel — both independently SOC 2 Type 2 certified.
Encrypted end to end
AES-256 at rest and TLS 1.2+ in transit on every connection.
Singapore data residency
Your data is stored in the Singapore (ap-southeast-1) region.
Row-level isolation
Postgres row-level security keeps every account’s data separate.
How we protect your data
Your data is isolated at the database layer
Every table is governed by row-level security policies. One account can never read another account’s invoices, bills, or bank records — isolation is enforced by Postgres itself, not just application code.
We never move your money
ArcPay is an accounting tool, not a financial institution. We never hold, move, or intermediate funds. Bank data enters ArcPay through statement files you choose to upload, or through a books connector (Xero, QuickBooks) you authorise and can revoke at any time — ArcPay holds no bank credentials and cannot initiate a payment from your account.
Least-privilege access
User-facing requests run on anon-scoped, session-authenticated clients. Elevated service-role keys are reserved for narrow administrative tasks and are never exposed to the browser.
Your data never trains AI models
AI features run on Anthropic Claude under our enterprise agreement. Your invoices, bank data, and books are never used to train any AI model.
Passwords and secrets
Passwords are hashed, never stored in plain text. Authentication, session management, and secret storage are handled by Supabase Auth.
Backups and recovery
Your ledger is backed up automatically every day, so data can be restored after accidental loss.
How the books are protected
Each line names what enforces it. A line is only here while the code behind it exists; a test removes it the day the guard goes.
- 01
A posted journal cannot be edited, only reversed.
Enforced by a database trigger, and the ledger table is read-only to every signed-in session, since 2026-09-11.
- 02
Every posting balances or fails, in one transaction, with a gapless number.
Enforced by a single posting function, which settles balance, live accounts, the close lock and the number together, since 2026-09-20.
- 03
Every posting and every figure the AI reads is computed in whole cents, never in floating point.
Enforced by a posting function that only takes cents, and tests that fail the build on floating-point money in the ingestion and reporting code, since 2026-08-31.
- 04
The AI can only propose. A person accepts, and the acceptance is on the record.
Enforced by proposals stored as pending, and a ledger row that names the proposal it came from, since 2026-09-18.
- 05
Every AI answer is checked before you see it. A figure that cannot be traced is withheld.
Enforced by a verification pass over every stated amount, with one revision turn, then enforcement, since 2026-09-20.
- 06
The books check themselves after every bank import and every night.
Enforced by eight identities computed in the database, with every run written to the audit log, since 2026-09-20.
- 07
The audit log is append-only and tamper-evident: each entry carries the hash of the one before.
Enforced by no application role may update or delete it, and a verify function names the first entry that does not match, since 2026-09-20.
- 08
A team member who prepared a bill cannot approve it. Money and identity changes to vendors, customers, bills and invoices are on the trail.
Enforced by a database trigger on the approval record, and triggers that write those changes to the same chained audit log, since 2026-09-21.
- 09
A database migration that rewrites the books must declare it and write audit entries, or the build fails.
Enforced by a test that scans every migration for writes to the books tables and requires the declaration and the audit call, since 2026-09-20.
Compliance posture
IRAS-ready records
GST and reporting follow Singapore tax rules, with 7-year retention.
SOC 2 readiness in progress
We’re building toward our own SOC 2 Type 2 attestation. Until it’s issued, we’re happy to share a security overview on request.
Have a security question or need a vendor security review? info@arcpaysg.com. See also our Privacy Policy and Terms.