Admins find every part of it in hr goat, under one menu.


The audit log. Search it, filter it, and export what is shown.
It is not one assistant with a set of keys. It is rebuilt out of the asking person’s own permissions, on every single request.
The tools the assistant has are assembled from that person’s own permissions, every time they ask. A manager and a payroll clerk are talking to two different assistants.
Reading needs permission for the area. Writing needs permission to write in it. Neither one implies the other.
Being allowed on a screen is not the same as being allowed to see everybody on it. The row rules decide whose records come back.
Compensation sits behind its own permission. So do formal warnings, and only people with the warnings permission can see warnings in the audit log.
Switching a module off takes its screens and its AI tools with it, so the assistant cannot offer your workspace something it never bought.
There is a list the assistant is not allowed to write to at all, pay among them, even when the person it is acting for could write there themselves.

Each of these needs a one-use confirmation that only a message from you can create, so the assistant cannot hand it to itself. A bulk import shows you the preview first, and the preview is logged.
We will not dress this up: every other single write happens straight away. What makes that safe is the permission model above and the fact that all of it is logged below.

And a few things are kept off it on purpose. A log that copies a bank account into a second place has not made anybody safer.
The tool that ran, who asked for it, and what came back. Admins read it on the AI governance screen and download it as CSV.
Sensitive values are written down as field=(set), never the value. Bank details, ID numbers, tax and UIF numbers, passports, special category data, and the text of a warning.
If somebody discloses something serious, the log records that it happened and under which category. It does not record what they said.
Reads of salary, ID and bank details are logged separately and kept for 24 months. A workspace can set that longer, never shorter, and a legal hold holds it.
A second log keeps one row per change from any source, a person or the assistant, recording which fields changed.
How long the log is kept: it is part of your workspace, so it stays while your workspace does and goes when it goes. Deleted from live systems within 90 days of termination, and from backups within 35 days of that (Schedule 2, clause 15, and Privacy Policy, section 8). The model provider keeps nothing you send it beyond what it needs to return the answer and any disclosed security or abuse monitoring period (Schedule 2, clause 14.3).

Somebody will eventually tell an HR system something that is not an HR query. That path does not run through the model.
Wellbeing, safeguarding and grievance disclosures are caught by a check that runs before the routing model gets a turn. The router is itself a model, and it does not get to decide that a harassment disclosure is off topic.
Not generated. It points only at contacts your workspace has actually recorded, and it will not invent a hotline number.
Nothing is sent to anybody automatically. What happens next is the person’s own choice.
Every uploaded document and fetched web page is wrapped in an untrusted-content envelope. A file that reads like a set of instructions is held back and you are told so: nothing in it has been used. The scanner is a filter. The envelope is the boundary.

Google Vertex AI, using current Gemini models.
Inference is not pinned to one region. Your records live in the EEA, the model call does not necessarily follow them there. We would rather tell you that than let you assume otherwise. Every route your data takes is named on the Sub-processor List.
Your data is not used to train foundation models. That is Schedule 2, clause 14.2 of your agreement, not just a line on this page.
The person who had it. An administrator cannot open somebody else’s chat.
Tokens per turn, so you can see where your credits went. The content of the turn is not kept alongside them.

When the assistant works through a setup task, the server goes and looks at the database before it agrees a step is done. Counting the rows. Checking the setting is actually set. Checking the field is actually filled. And if somebody asked for a change and nothing was written, the assistant gets another turn to do it properly instead of telling you it is finished.

Every table carries a workspace id, and a query that runs without a workspace throws an error rather than reading across to somebody else’s.
For pulse and upward feedback, who answered is stored apart from what was said, and results only appear once five people have replied.
When our team views your workspace as one of your people, the session is read only, enforced in three separate places, and audited.
Tokens for your connected tools are encrypted, never stored without a key, and hard deleted when you disconnect.
A policy answer tells you which clause it came from. If a rewrite changes a figure, the rewrite is thrown away rather than shown to you.

The same commitments are written into your agreement. Each one links to its clause.
Neither we nor our AI providers use your data to train, fine-tune or improve a model. Terms, clause 35.1
Only the personal data a request reasonably needs is sent to the model. Schedule 2, clause 14.1
Nothing beyond what it takes to return the answer, plus any disclosed security or abuse monitoring period. Schedule 2, clause 14.3
AI output is advisory, and material employment decisions need a person to review them. Schedule 2, clause 14.4
An admin can turn AI features off for the workspace, where that control is available. Schedule 2, clause 14.5
Security questionnaires, penetration test summaries and audit reports go to the same place as everything else legal.
legal@hrgoat.ai