Tenant isolation
Every request is scoped by tenant. Cross-tenant access is blocked by policy and returns 404, not 403, so existence of records in other tenants is not disclosed.
We design Lekha for controlled access and operational traceability from day one. Last updated 2026-06-10.
Every request is scoped by tenant. Cross-tenant access is blocked by policy and returns 404, not 403, so existence of records in other tenants is not disclosed.
Owners, staff, and accountants are permission-scoped. Free-plan tenants are read-only unless moved to paid by an admin. Admin write-mode is time-boxed to a 30-minute window per session.
Captured document fields stay as draft suggestions until a user explicitly confirms them into the ledger. AI-assisted extraction is probabilistic and never auto-posts to financial records.
Every CREATE / UPDATE / DELETE on every entity writes an audit row capturing actor, timestamp, and before/after values. Audit log is queryable from the in-app Settings panel and retained for the lifetime of the tenant.
Encryption at rest: AWS-managed AES-256 on every database volume and S3 bucket. Encryption in transit: TLS 1.2/1.3 with HSTS. Tenant-managed secrets (SMTP credentials, e-invoice GSP credentials) are envelope-encrypted at the application layer with AES-256-GCM.
Passwords hashed with argon2id. TOTP MFA available on every account with recovery codes generated at enrollment. Refresh tokens rotate; sessions are revocable from the in-app session list.
The authoritative list of the third parties that process customer data on our behalf — with the data each one touches and the country it operates from — is published at /subprocessors. Subscription payments use no payment processor: they are paid by direct bank transfer (UPI / IMPS / NEFT) and we never handle card details.
See our Privacy Policy, Terms and Conditions, DPDP-2023 disclosure, and cookie policy.
To report a vulnerability, email lekha@ekarche.com. Our public disclosure file is available at security.txt.