Security
How WorkDNA protects your data — our real security posture, not marketing copy.
Last updated: 2026-06-04
Our commitment
Security is a core part of WorkDNA, not an afterthought. This page describes the actual technical and organizational measures we use to protect your data. These are real practices, not aspirational ones.
Multi-tenant row-level security
Every database query is scoped to a tenant using PostgreSQL Row-Level Security (RLS). A policy on every table enforces that rows from Tenant A are never returned to Tenant B. This is not an application-layer check — it is enforced at the database engine level. Even a misconfigured API endpoint cannot leak cross-tenant data.
Encryption at rest
Sensitive fields (API keys, SCIM tokens, SSO client secrets, passport tokens) are encrypted before being stored in the database using field-level encryption. We do not yet claim full-volume disk encryption: database backups are nightly compressed snapshots stored on the production server, with dump encryption and off-site copies on the ops roadmap.
Encryption in transit
All traffic between clients and WorkDNA is served exclusively over HTTPS with TLS 1.2+. The production instance is behind a Cloudflare tunnel which enforces this at the edge.
Authentication and access control
- Passwords are stored as bcrypt hashes — never in plain text.
- Failed login attempts trigger lockout after a configurable threshold.
- Rate limiting is applied to login and sensitive mutation endpoints.
- Role-based access control (RBAC) with five tiers: Owner, Admin, HR, Manager, Employee. Each role sees only what it is permitted to see.
- Admin-level actions are gated by a "require elevated" check separate from general authentication.
Consent and audit logs
Every consent action (grant, withdraw) is recorded with a timestamp and the actor's identity. Key administrative and data-mutation actions are written to an append-only audit log that is accessible to Owners and Admins. This creates a verifiable history of who did what and when.
PDPA alignment
WorkDNA has built-in consent management aligned with Thailand's PDPA. Employees opt in before any personal data is processed for HR purposes. Consent can be withdrawn at any time. Withdrawal is logged and respected immediately across the system.
AI and data minimization
AI agents within WorkDNA operate on data already present in the system. They do not send your data to third-party AI providers without your knowledge. Profile exports (Passport) are opt-in and scoped — you choose what is shared and can revoke any export at any time.
Responsible disclosure
If you discover a security vulnerability, please report it responsibly to [email protected]. We will acknowledge receipt within 48 hours and aim to resolve confirmed issues within 30 days.