Security, honestly
This page lists what's actually implemented today — nothing announced ahead of what exists.
Multi-tenant isolation
Every workspace (tenant) is isolated at the database level, not only in application code — a query simply cannot see another tenant's rows.
Row-Level Security
PostgreSQL Row-Level Security policies enforce tenant isolation on every query, at the database engine itself — a bug in application code can't bypass it.
JWT-based authentication
Every authenticated request carries a signed JWT, issued by Keycloak and validated on every call. This application never handles or stores a password — that's delegated entirely to your identity provider.
Role-based permissions
Access is governed by fine-grained permissions, enforced on every request server-side — not just hidden buttons in the interface.
Audit log
A durable, append-only record of changes across the platform, queryable by entity and actor.
Rate limiting
Distributed rate limiting protects every endpoint against abusive traffic, enforced consistently across every instance of the application — not per-server, so it can't be worked around by hitting a different node.
AI usage isolation
AI capabilities operate strictly within the requesting tenant's own data, with usage tracked and gated by your plan's quota — one workspace's AI usage never touches another's.
White Label isolation
Branding (logo, colors) is configured and served per tenant — what one workspace's candidates see never leaks into another's.
Transport & deployment
HTTPS is enforced at the reverse proxy / load balancer in front of the application in every real deployment — the application itself doesn't terminate TLS, by design, so the same mechanism your infrastructure already uses for certificates applies here.
We'd rather tell you what's true than what sounds good — ask us anything on a call.