Security

Agencies hold other people's personal data for their clients. These are the controls Hordu runs today and the certifications it is working towards, stated as they are.

Today

  • Every workspace's rows are isolated by PostgreSQL row-level security as well as by application code, and the test suite checks every table for cross-workspace access.
  • Share links are unguessable, can be revoked or set to expire, and can require the viewer to confirm their email. Video and documents are served through signed URLs that expire.
  • Encryption in transit everywhere and at rest in every store. Integration credentials are encrypted per workspace.
  • Multi-factor authentication for workspace users, session expiry and sign-out of other devices.
  • An audit log of sign-ins, sharing changes, downloads, deletions and exports, visible to owners and admins.
  • Retention rules per content type, a 30-day recoverable window after deletion, and a removal-request flow for candidates with a 30-day deadline for the agency.
  • Dependency, container and static analysis scanning on every change; secrets held in a managed store, never in the code.
  • Recording notices and acknowledgements in every interview room, kept with the room.

Roadmap

Before public launch
External penetration test; incident response runbook rehearsed; DPA, sub-processor list and privacy notices published.
First six months
Cyber Essentials.
First year
Cyber Essentials Plus; annual penetration test.
Year two
ISO 27001, with evidence collected continuously.

Report a vulnerability to security@hordu.io. See also the data processing agreement and the sub-processor list.