Security

Last updated: 2026-05-11

Security posture for the StagHR beta. This page describes the controls in production today; formal third-party attestation is out of scope for the closed beta.

Tamper-evident audit chain

Every privileged action (account creation, document edits, signature events, admin operations) is appended to a per-tenant audit chain. Each entry's HMAC links to the prior entry's hash, so retroactive edits or deletions are detectable via a verification pass.

Tenant isolation

Cross-tenant data access is blocked at the database level via Postgres Row-Level Security with FORCE RLS. The signer-view surface uses a separate dual-GUC RLS policy so external signers see only the document they were invited to.

Encryption at rest and in transit

TLS 1.2+ everywhere. Database storage on Fly Managed Postgres is encrypted at rest. Sensitive AR columns (emails, document bodies, EIN, audit payloads) carry an additional ActiveRecord encryption layer.

Reporting an issue

Email [email protected] with reproduction details. We'll acknowledge within 48 hours and coordinate disclosure timing.