Security

Security that is enforced, not promised.

HaloHR holds people, time, and pay data for many clients at once. So isolation, permissions, and audit trails are built into every request, not bolted on to a menu.

Per tenantIsolation enforced in the database, not the UI
Server-sidePermissions checked on every request and route
Full trailAudit log on invoices, expenses, bills, and pay runs
A team reviewing access and records together
Every request checked. Every attempt logged.
Security consoleLive
Client tenant
Signed in as
Try to open
Audit trail

    Pick a role, then click a resource.

    How a request is checked

    Five checks before any data leaves

    Every request, from a person or from Pixi AI, passes the same path. Scroll down the path and watch each check light up.

    Sign in

    OAuth sign-in and multi-factor authentication establish who is asking, before anything else is evaluated.

    session ✓ oauth mfa ✓ verified

    Resolve tenant

    Every request is bound to a single client tenant before any data is read. There is no cross-client query.

    user priya.n tenant northwind-health

    Check permission

    Role and assignment are checked server-side on every route. No permission means the data never loads.

    finance.read → allowed pay_rates.read → denied

    Scoped query

    The database returns rows for that tenant only. Isolation is enforced in the database, not the interface.

    SELECT … FROM invoices WHERE tenant_id = :tenant

    Audit entry

    The action is written to the audit trail with who, what, and when, ready for a client or an auditor.

    09:40 marcus.l approved pay run period April: locked
    Isolation

    Every client in its own tenant

    Each client gets its own tenant with its own people, policies, documents, and branding. Switching between clients happens from a single sign-in, and data never crosses between them.

    • Isolation is enforced in the database, not the interface
    • Data and AI retrieval never cross a client line
    • A new client workspace is set up in minutes
    Client workspaces3 tenants
    A
    Acme Logistics128 people
    Active
    N
    Northwind Health54 people
    Isolated
    H
    Harbor & Co212 people
    Isolated
    Access control

    Scoped by role and by assignment

    Consultants are assigned to specific clients, not the whole book. Items outside an assignment do not load on any route, and that check runs server-side.

    • Finance visibility is a distinct permission, not a hidden menu
    • Pay rates and salary bands are permissioned separately from general employee records
    • Approval thresholds require a second approver above configurable amounts
    Who can see financeServer-side
    InvoicesPay ratesApprove Finance✓✓✓ HR–✓– Manager–––
    Roles without it load no finance data on any route
    Sign-in

    Know who is asking

    Identity is established before anything else is evaluated, and it carries through every check that follows.

    • OAuth sign-in
    • Multi-factor authentication
    • One login across every client workspace you are assigned to
    Sign-inPriya N.
    OAuth providerVerified
    Multi-factorVerified
    Workspaces assigned2 of 3
    AI governance

    Pixi AI drafts. People decide.

    Pixi works from your own records and your policy library. It drafts and suggests; it never approves, hires, or pays anyone on its own.

    • Every recommendation is a draft until a person signs off
    • Retrieval is scoped to the same tenant and permissions as the person asking
    • Answers link back to the record they came from
    Pixi draftsAwaiting sign-off
    Reminder · Harbor & Co invoiceDraft
    Escalation · hotel claim over limitDraft
    Pay run approvalPerson only
    Never approves, hires, or pays on its own
    Audit & records

    A trail you can actually hand over

    Obligations carry an owner, a cadence, and supporting documents, so a client audit is an export, not a fire drill.

    • Full audit trail on every invoice, expense, bill, and pay run
    • Locked accounting periods block retroactive edits once a period is closed
    • Evidence packs export a completed cycle as a single pack
    Audit trailPay run · May
    Priya N. submitted the run09:12
    Second approver requiredOver threshold
    Marcus L. signed off09:40
    Period April lockedEdits blocked
    Contact security

    Questions or a finding to report

    Send security questionnaires, evidence requests, or a vulnerability report to the CyberGen team at info@cybergen.ai, and we will route it to the right person.

    Common questions

    What security teams usually ask

    Can a consultant see clients they are not assigned to?

    No. Consultants are scoped to the clients they are assigned to. Items outside the assignment do not load on any route, and the check runs server-side.

    Where is client separation enforced?

    In the database. Each client is its own tenant, so isolation does not depend on the interface hiding things.

    Can the AI take action on its own?

    No. Pixi AI drafts and suggests. It never approves, hires, or pays anyone on its own, and retrieval never crosses a client line.

    Can pay data be restricted from general HR users?

    Yes. Pay rates and salary bands are permissioned separately from general employee records, and finance visibility is its own permission.

    How do I get your current security documentation?

    Email info@cybergen.ai and we will send the security overview and answer your questionnaire.

    Run your security review with real answers.

    Bring your questionnaire. We will walk through isolation, permissions, and audit trails against how you actually operate.