Security
Security, in depth.
Credit data is sacred. We defend it in layers — identity, data, audit, device, network, application, and governance — so no single failure exposes a borrower or a lender. This page describes what we actually run, in plain language.
We describe only controls that exist today, and we mark forthcoming ones honestly. Security is a posture, not a guarantee — there is no such thing as unhackable.
01 · Identity & access
Who you are is proven before anything sensitive moves.
Access is two-tier: a public single sign-on front door, and a privileged dashboard tier that demands more before it opens.
Two-tier authentication
Members sign in once at tier one. Reaching a lender or admin workspace requires a tier-two step-up — a uniform posture with no per-lender opt-out.
Protected Mode step-up (TOTP / biometric)
Privileged actions take a second factor — TOTP on web, Face ID on mobile — gated through a dedicated elevation flow.
Tiered, self-expiring sessions
Elevated sessions step back down on their own after roughly 30 minutes idle, with stricter cookie scoping for tier-two.
Session revocation & kill-switch
Sessions can be revoked centrally so a compromised or lost device can be cut off without waiting for it to expire.
Breached-password screening
New and changed passwords are checked against known-breached corpora (HIBP, k-anonymity range query — the password never leaves the server in clear).
Enumeration resistance
Login and recovery responses are shaped so an attacker can't probe which accounts exist; failed attempts are rate-limited and logged.
02 · Data protection
Even with the database in hand, the secrets stay sealed.
Sensitive fields are encrypted before they touch storage, isolated per institution, and every read of personal data is recorded.
AES-256-GCM field encryption at rest
Sensitive fields are sealed with authenticated AES-256-GCM — so a copy of the database, on its own, reveals nothing.
Key rotation
Encryption keys are versioned and rotatable; ciphertext carries its key version so rotation never strands old records.
PII access logging, break-glass & retention
Every access to personal data is logged; emergency break-glass access is recorded distinctly; retention windows auto-purge data that has aged out.
Per-institution row-level isolation
Rolling outEach lender's data is partitioned so one institution can never read another's. Row-level security is designed and prepared, with database-enforced isolation in staged rollout to production.
03 · Audit & evidence
What happened can be proven — and can't be quietly rewritten.
Material actions are written to an append-only, hash-chained ledger and replicated off-box, so the record holds up under scrutiny.
Tamper-evident hash-chained log
Each entry chains to the one before it; altering any record breaks the chain visibly. The trail is append-only, not editable in place.
Off-box WORM replication
The chain is replicated to write-once, read-many storage off the primary box, so a single compromised host can't erase history.
Court-ready evidence trail
Security events and AKAD signings are recorded with their cryptographic context, giving lawful processes a defensible, verifiable record.
External anchoring
Rolling outPeriodic anchoring of the chain root to an independent external timestamp — for third-party-verifiable integrity — is being added.
04 · Device & mobile
The app on the phone is hardened, not just the server.
Our native apps keep secrets off the bundle, in the device's secure enclave, and production builds defend the runtime itself.
Hermes bytecode
Apps ship compiled to Hermes bytecode rather than readable JavaScript, raising the bar on reverse engineering.
Secrets in the secure enclave
Tokens and keys live in the OS secure store (expo-secure-store), never hard-coded into the app bundle.
Biometric lock
Sensitive surfaces and role elevation can be gated behind Face ID / fingerprint on the device.
Certificate pinning
Rolling outProduction builds pin the API certificate so traffic can't be silently intercepted. Wired behind a provider registry; armed in production builds (not in Expo Go / preview).
Jailbreak / root / tamper detection
Rolling outProduction builds detect compromised devices and tampering, wipe our secrets, and fail safe. Pluggable RASP provider, armed in the production build.
App Attest / Play Integrity
Rolling outDevice and app attestation to confirm requests come from a genuine, untampered app — keys provisioned and enabled in production builds.
05 · Network & platform
Abuse is absorbed at the edge, before it reaches your data.
A managed perimeter — firewall, bot defence, rate-limiting, hardened response headers — sits in front of everything, with anomaly detection behind it.
Managed WAF & bot defence
A web application firewall with deny rules plus invisible bot protection (BotID) guards high-value routes such as login, sign-up, and chat.
Rate-limiting & automatic lockout
Per-route rate limits throttle abuse; repeated failed authentication triggers automatic account lockout.
Hardened security headers
HSTS with preload, X-Frame-Options DENY, X-Content-Type-Options nosniff, a strict Referrer-Policy, COOP/CORP, and a restrictive Permissions-Policy ship on every response.
Anomaly → automatic defense
Unusual patterns raise alerts and can trigger defensive responses, with the events captured on the tamper-evident trail.
CSP & CSRF in staged enforcement
Rolling outframe-ancestors is already enforced. The full nonce-based Content-Security-Policy and CSRF protection run in Report-Only today, collecting violations as we move them toward full enforcement.
06 · Application & supply chain
The code, its inputs, and its dependencies are all scrutinised.
Inputs are validated, integrations are authenticated against forgery and replay, and the dependency chain is watched.
Strict input validation
Request payloads are validated with typed schemas (zod) at the boundary, so malformed or hostile input is rejected before it reaches business logic.
Webhook signature & replay protection
Inbound webhooks are verified by signature and protected against replay, so a captured payload can't be re-sent to forge an event.
Dependency & secret scanning
Dependencies are monitored for known vulnerabilities and the codebase is scanned to keep credentials out of the bundle and out of source.
Security review
Every change goes through a recurring code-level security review; the latest pass came back clean. (Independent third-party penetration testing is planned, not yet performed.)
07 · Compliance & governance
Aligned with the regulators, and lawful by design.
Our controls map to Malaysian financial expectations, our data handling respects the PDPA, and our incident posture stays firmly within the law.
BNM-aligned controls
Security and operational controls are designed against Bank Negara Malaysia's expectations for regulated lending technology.
PDPA-conscious data handling
Personal data is collected on consent, access-logged, and retention-bounded — handled in line with the Personal Data Protection Act.
Shariah-compliant trading rails
Islamic financing flows settle over established Shariah-compliant Tawarruq rails (Shoraka), with the resulting e-certificates stitched into the audit trail.
Lawful escalation — we don't hack back
If we're attacked, we preserve our tamper-evident evidence and hand it to the proper authorities — MyCERT, the police, and lawyers do the lawful tracing. We explicitly do not retaliate, counter-hack, or de-anonymise; that would itself be unlawful.
Talk to us
Want the deeper detail for diligence?
Lenders, regulators, and partners are welcome to request our control documentation and walk through our posture with the team.
