An Internal HR Policy Chatbot: Scope and Safeguards
A chatbot can answer routine handbook questions on a company's own server. The hard parts are keeping personal records out, handing sensitive topics to a person and serving the right policy version.

Take a company of 200 people where each employee asks HR two routine questions a month: how many holidays there are, whether a hotel upgrade is reimbursable, where the parental leave form lives. That is 200 x 2 = 400 questions. At five minutes each, 400 x 5 = 2,000 minutes, or about 33 hours of HR time a month spent reading the handbook aloud. An HR policy chatbot answers those questions from the policy text itself, on the company's own server, and quotes the section it used. The retrieval machinery is the same as any private RAG system over internal documents. What makes the HR version different is everything around it: what goes into the index, which questions it must refuse to answer, and which version of a policy a given employee should see.
Scope: policy text in, personal records out
The most effective safeguard is deciding what the index contains. A model cannot leak a document it was never given.
| Belongs in the index | Stays out of the index |
|---|---|
| Employee handbook, all current sections | Personnel files and employment contracts |
| Leave, holiday and sick time policies | Pay, bonus and salary band data |
| Travel and expense policy | Performance reviews and disciplinary records |
| Benefits summaries and enrollment instructions | Medical, accommodation and leave case files |
| IT and acceptable use policies | Investigation notes and complaint files |
| Where to find forms and who to contact | Individual leave balances and payroll history |
Medical information has a specific legal reason to stay separate. Under the ADA regulations at 29 CFR 1630.14(c)(1), information about an employee's medical condition must be "collected and maintained on separate forms and in separate medical files" and treated as a confidential medical record, with narrow exceptions such as telling supervisors about necessary work restrictions and accommodations. Dropping an accommodation file into a search index that the whole company queries works against that separation.
The simplest design follows from the table: the corpus contains only documents that every employee is already allowed to read. Then the chatbot needs no per-user filtering at all, because any answer it gives was already public inside the company. Once someone asks to add manager-only guidance or a confidential executive policy, that changes, and the index needs permission-aware retrieval that only shows what a user may see.
Questions about "my" anything
Employees will ask "how many vacation days do I have left?" Resist connecting the chatbot to the HR information system in the first version: the HR system's own self-service page already answers that correctly. The chatbot should recognize the question, state the policy (how days accrue, how carryover works) and link to the self-service page for the number.
Routing sensitive topics to a person
Some questions should never get a generated answer, however good the retrieved text looks. A reasonable starting list:
- Harassment, discrimination or retaliation, whether reported or asked about
- Medical conditions, disability, accommodations and pregnancy
- Leave for a serious health condition or a family member's illness
- Workplace violence, threats or safety concerns
- Whistleblowing and reports of fraud
- Resignation, termination or a dispute about pay
- Anything suggesting distress or risk of self-harm
How the handoff works
Put a classification step in front of retrieval. The model, or a simpler classifier, reads the question and returns one label: policy_question or route_to_person. For the second label, the system does not retrieve, does not summarize and does not ask follow-up questions. It returns a fixed, human-written message that names a real contact, a phone number or a confidential channel, and says plainly that a person will handle it.
Because HR writes and stores that message, it cannot drift or invent a process.
Tune for the cheap mistake
The two errors are not equal. Routing an ordinary leave question to a person costs a few minutes of HR time. Answering a harassment report with a paragraph from the code of conduct can cost the employee's trust and leave a serious report sitting in a chat log that nobody reads. Whether a message typed into an internal tool counts as notice to the company is a question for employment counsel, but the safe design does not depend on the answer: such messages reach a person promptly.
Test this before launch. Write 40 sensitive questions phrased the way people actually write, including indirect ones ("is it normal for my manager to comment on what I wear?"), mixed with 160 routine ones. The bar for the sensitive set is 40 out of 40 routed.
Say that it is a machine
Every conversation should open by saying the employee is talking to an automated tool that answers from published policy, and how to reach a person instead. For companies under EU law, Article 50 of the AI Act requires providers of systems that interact directly with people to ensure those people are informed they are dealing with AI, unless it is obvious. Under Article 113 that duty applies from 2 August 2026; the EU's 2026 simplification package moved several other deadlines, so check the current consolidated text before relying on any date. Separately, Annex III lists AI systems used to make decisions affecting terms of work relationships, or to monitor and evaluate employees, as high-risk. A chatbot that quotes the handbook is far from that line; one that starts judging whether a particular person qualifies for something moves toward it. The EU AI Act overview for small companies covers the deployer and provider roles. This is general information, not legal advice.
One company, several versions of the same policy
A handbook that reads the same for everyone is rare. Benefits and leave rules often depend on where someone works and what kind of employee they are, and a chatbot that quotes the wrong version gives a confident wrong answer.
- Federal family leave. The Department of Labor's FMLA page says an employee is eligible only after 12 months with a covered employer, at least 1,250 hours of service in the prior year, and work at a location where the employer has at least 50 employees within 75 miles. Two people at the same company, one at a headquarters of 120 and one at a remote office of 8, can get different answers to the same question.
- State sick leave. California's Labor Commissioner states that employers must allow use of at least five days or 40 hours of paid sick leave a year, whichever is more, as described on the state's paid sick leave FAQ, and that a local ordinance requiring more takes precedence. A company with staff in California and in another state may need two sick leave sections.
Tag the text, then filter
Each section of the policy corpus gets metadata when it is indexed: applies_to_location (all, or a list of states or sites), applies_to_group (all, hourly, salaried, a union bargaining unit) and effective_date. When an employee signs in through the company's single sign-on, the system reads two attributes from the directory, work location and employee group, and filters retrieval to sections that match or apply to everyone. Those two fields are the only personal data the chatbot touches.
When the attributes are missing, the chatbot should not guess. It can ask "which office do you work from?" or show both versions with clear labels. Every answer names the version it used: "Source: Employee Handbook, section 7.3, California employees, effective January 1, 2026."
Keeping answers current
HR documents change on a calendar: open enrollment, a new holiday schedule each year, a revised expense limit mid-year.
Practical rules:
- One owner. A named person in HR decides what enters the index. Drafts, redlines and email attachments never do.
- Retire by effective date. A revised policy often gets approved weeks before it takes effect. Index the new version with its effective date and keep serving the old one until that date, then remove the old one from the index, while keeping it in the records system.
- Sync, do not re-upload by hand. Point the indexer at the folder where final policies live and let it detect new, changed and deleted files; the mechanics are in keeping a RAG index in sync as documents change.
- Read the misses. Each month, review the questions the chatbot could not answer from the text. A cluster of unanswered questions about remote work equipment is a gap in the handbook, not a model problem.
Quote numbers, never paraphrase them
Policy answers carry figures: days, dollar limits, waiting periods. Instruct the model to quote sentences containing numbers verbatim from the source and cite the section, and check this in testing. Each answer should also say that the published handbook controls if the two disagree, and eligibility questions ("do I qualify?") should get the rule plus a pointer to HR, not a yes or no.
Treat the question log as an HR record
The log of questions is sensitive even when no answer was given. "Does the leave policy cover IVF treatment?" says something about the person asking. Restrict log access to the system administrator and the policy owner, store user identifiers only as long as troubleshooting requires, and set a short retention period in writing before launch. HR should be able to see which topics people ask about without browsing who asked what.
Frequently asked questions
Should employees be able to use it anonymously?
Anonymous access makes people more willing to ask awkward questions, but it removes the work location and employee group the chatbot needs to pick the right policy version. A middle path is signing in through single sign-on for filtering while keeping the stored log pseudonymous, so the system uses identity for retrieval but does not keep it with the question.
Does a union contract go into the same index?
It can, if every employee may read it, tagged with the bargaining unit it covers so its terms are only served to members of that unit. Where the agreement and the handbook differ, the answer should cite the agreement for covered employees, and HR should confirm which document governs before launch.
How large a model does a handbook chatbot need?
Answering from a few retrieved paragraphs is a modest job, and a small or mid-sized open model often handles it well. The harder parts, the sensitive-topic routing and verbatim quoting of figures, should be tested on the company's own 200-question set before choosing, since that test shows the real failure rate.
What should happen when the handbook says nothing on a topic?
The chatbot should say the policy does not cover it and give the HR contact, rather than offer general advice about what companies usually do. A generic answer from the model's training data would read like company policy.
Ready to Modernize Your Business?
Get your AI automation roadmap in minutes, not months.
Analyze Your Workflows →