Security, stated plainly.
An HR platform holds the most sensitive data a company keeps — salaries, bank details, government IDs. This is an honest account of how HRIMS protects it: what is enforced in the running system today, and what is on the roadmap. No control is listed here unless it is actually in the code.
Security controls
Each row reflects a control implemented and enforced in the current codebase. Status is exact — Enforced means live today; Planned means committed roadmap.
15m access tokens with 7-day rotating refresh tokens, stored server-side and individually revocable. Signing secrets required to be ≥ 32 characters.AES-256 encrypted at rest and verified before enrollment completes.AES-256 encrypted and never returned by any API response.X-Frame-Options: DENY, nosniff, no-referrer policy, cross-origin isolation.no-new-privileges; database and cache are never exposed to the host — reachable only on the internal network.Technology stack
Mainstream, well-supported components — no exotic dependencies for a security team to vet from scratch.
Backend
- Node.js 20 LTS
- Express + TypeScript strict
- Prisma ORM 5.x
- PostgreSQL 16
- Redis 7
Frontend
- React 18
- Vite build
- TailwindCSS 3
- TanStack Query data
- Zustand state
Infrastructure
- Docker Compose multi-stage
- nginx TLS term
- Let's Encrypt auto-renew
- Desktop agent Win · macOS · Linux
- GitHub Actions CI
One client, one instance
Single-tenant by design
Every customer runs on their own isolated instance with a dedicated database — there is no shared multi-tenant store where a query bug could cross customer boundaries. Data can be hosted on infrastructure the client controls, which keeps data-residency and sovereignty decisions in their hands rather than a vendor's. It is the strongest isolation guarantee a deployment can offer, and it is the default here.
Compliance, honestly
As a processor of employee personal data, HRIMS is built toward GDPR and India's DPDP Act. Here is exactly where that stands.
- ◆Multi-factor authentication — TOTP second factor with backup codes.
- ◆Access control & least privilege — role-scoped, data-layer enforced.
- ◆Encryption — credentials at rest (AES-256), everything in transit (TLS 1.2/1.3).
- ◆Data-subject rights — self-service export & confirmed erasure (GDPR Art. 15/17, DPDP).
- ◆Auditability — actor-attributed trail of security-relevant events.
- ◆Data isolation — single-tenant; client-controlled residency.
- ◆Supply-chain assurance — automated dependency, SAST and secret scanning.
- ◆Enterprise SSO — SAML 2.0 / OIDC federation (MFA and data-subject rights are already live).
- ◆Independent attestation — SOC 2 Type II / ISO 27001, once controls are seasoned.
- ◆Penetration test — third-party assessment with a shareable letter.
- ◆Secrets management — KMS / vault with rotation.