VerityOS exists to make numbers verifiable — so its own security has to hold to the same standard. This page is our posture in plain English: controls mapped to the OWASP Top 10, the OWASP LLM Top 10, CSA Cyber Essentials, and ISO/IEC 27001 control families, with PDPA underneath — and the honest list of what is still in progress.
Six controls do most of the work. Each one is built into how the product runs — which means an auditor can check it, not just read about it.
Every client organisation is a separate workspace, enforced with database-level row security — not application code that can be bypassed. One tenant can never read another's rows, even if the app layer fails.
Data, auth, and file storage run on certified, AWS-backed managed infrastructure in the Singapore region (ap-southeast-1), encrypted in transit and at rest.
Emission entries are never updated or deleted; corrections are visible reversals, and each entry stores the hash of the one before it. At report finalization the chain-head fingerprint is printed in your report and timestamped by an independent RFC 3161 authority — so tamper-evidence holds against everyone, including us.
Every AI extraction is schema-validated server-side before it can touch the database, then held for a named human's approval. This is also the primary defence against prompt injection hidden in an uploaded document.
Invite-based access with distinct admin and member roles. No service-role key ships in the application; every request runs with the caller's own permissions.
Distributed rate limiting on the AI endpoint, magic-byte file-type sniffing on uploads, per-file content hashing, and structured error logging on every failure.
Personal data in VerityOS is limited and boring by design: contact details from our forms, account details of users, and whatever names appear on the bills you upload. Here is the control set around it.
What we collect, why, where it lives, and how long we keep it — PDPA-aligned, published in plain English.
Every third party that touches data is named in the register — our infrastructure providers and our AI provider (Anthropic) — available on request. Client data is not used to train AI models.
A DPA template is available for enterprise and consultant engagements — ask and we send it.
A written plan with roles, timelines, and notification duties — including PDPC notification where a breach meets the threshold.
A hard-delete path exists for client organisations — erasure is real deletion, gated and logged, not a hidden flag.
Found something? Report it through the contact form and it goes straight to the accountable owner. We'd rather hear it from you than read about it.
The model does one narrow job — read a document, propose structured figures — and nothing it says is trusted: schema validation rejects malformed output server-side, a named human approves every figure before it reaches the vault, and the model holds no tools, no database access, and no autonomy. We follow the OWASP LLM Top 10, and our full AI governance posture — the IMDA framework mapping, the ISO/IEC 42001 alignment, and what we deliberately don’t claim — has its own page.
A security page that lists only strengths is marketing. These are the open items, stated plainly — the same way we state them to assessors.
Procurement questionnaire, DPA request, sub-processor questions — we answer them directly, in writing. That’s the point of the product.