New notes on skills, managers and pay transparency.New notes from the team.Read the latest
All insights

When an HR system says nothing, ask why.

An empty result can mean there is no data, or that you are not allowed to see it. Most AI tools treat the two as the same thing, and HR decisions get made on the difference.

Note
Field note № 07
Published
Reading time
3 min read
Filed under
Permissions, Data quality

A regional HR manager asks an AI assistant how many people in the Lisbon office are on fixed-term contracts that end this quarter. The assistant answers: none. It is a reassuring answer, and it is wrong. The manager's role in the HR system covers employee records but not the contract details that hold end dates, so the system returned an empty list. The assistant read the empty list as a fact.

Nobody made a mistake you could point to. The HR system did exactly what it was configured to do, and the assistant summarised exactly what it received.

Silence is how permission systems work

Role-based permissions exist to make data invisible to people who should not see it. In the HR suites we work with, requests made through the interface are filtered by the permissions of whoever makes them, and records outside those permissions are simply not returned. That is correct behaviour, and the vendors' own guidance is firm that the filter must always apply.

Silence is not always a missing record. Field-level permissions can return the employee with the restricted fields left blank, so the person is there and the end date is not. An assistant that reads a blank field as “no end date” makes the same mistake one level down. Suites that scope access by organisation reach the same place by another route: the same report returns a different population for each person who runs it.

We measured what that looks like with three accounts on a reference tenant, asking the same question through our own platform. A sales representative asking for pay records got nothing back. A sales manager got their own team. An HR manager got the full population. Every one of those requests succeeded, and nothing in the responses separated a permission boundary from a genuine absence of data.

Same question, three accounts, one reference tenant

  • HR managerfull population
  • Sales managerown team
  • Sales representativenothing
Every request succeeded. Illustrative counts; the shape is what we measured.

Why AI makes it worse

A person who opens an empty spreadsheet usually wonders why it is empty. A language model rarely does. Asked to summarise the result of a query, it summarises what came back, and nothing is a perfectly fluent thing to summarise. “There are no fixed-term contracts ending this quarter” reads as confident and complete, and the system has no basis for it.

Inheriting each person's permissions solves a bigger problem and makes this one more frequent. An assistant that runs under a single powerful service account sees everything, which is its own risk. An assistant that inherits each person's roles sees the right amount, and has to interpret far more silence.

Four rules we hold ourselves to

  1. Record whose eyes the read was made with. Every result carries the identity it ran under, so the answer can say “in the records you can access”.
  2. Word empty results so they are true either way. “I found no fixed-term contracts in the records you can access” is honest whatever the cause. “There are none” is a claim the system cannot support.
  3. Never borrow access to fill a gap. A person with no access is told so. The assistant does not quietly retry through a broader account.
  4. Separate a failed read from an empty one. A timeout, a filter that matched nothing and a permission boundary are three different answers, and the brief says which one it was.

What HRIS teams can check this week

  1. List the ten questions managers ask most often, and note which permission roles can actually answer each one.
  2. Look for roles that see employees but not the fields those questions depend on: contract end dates, pay components, absence.
  3. Test any AI tool as an ordinary manager, never as an administrator. An administrator demo hides this problem completely.
  4. Ask the vendor to show an empty result and walk you through, line by line, how the tool decided what to say.

See PeopleHub on one of your own workflows.

Forty-five minutes, and a clear account of what PeopleHub can and cannot do for it.

Book a working session