How to Stop an AI Company Brain from Mixing Country-Specific Onboarding Policies

Pick the applicable policy by employing entity as well as work country, filter on both before the assistant ranks anything, and make it ask when either is missing. A fluent answer built from a similar United States policy can send a new hire in Japan down the wrong path, and a better prompt does not stop that. The system needs verified context from the HR system, scope metadata on every policy, and an answer that states which entity and country it applies to.
Why the wrong country's policy gets through
Most company brains index documents for semantic similarity. That helps when employees use unfamiliar wording, but similarity does not establish applicability: two parental leave pages can discuss the same concepts while defining different eligibility, notice periods, contacts and forms. AWS describes retrieval-augmented generation as retrieving information from an external knowledge source before generating a response. That grounds an answer, but the retrieval layer still needs rules for choosing the correct source, and if every regional handbook is eligible the model can receive several plausible passages and combine them. Four defects usually cause the mix-up:
- The employee profile lacks an authoritative work country.
- Policies do not carry machine-readable jurisdiction and worker-type metadata.
- Retrieval ranks text relevance before applicability.
- The answer generator treats missing context as permission to guess.
The result is not always an obvious contradiction. A response may cite a real page, name a real team and provide a real form, and the error appears only when someone notices that the page governs another legal entity. New hires are the least likely people to notice.
Define the policy context before retrieval
List the facts that decide which onboarding policy applies before you write any prompt, and define where each one comes from. The values in the examples below are made up. A useful minimum context object looks like this:
employee_context:
employee_id: "nh_1042"
employing_entity: "Example Japan KK"
work_country: "JP"
work_region: "13"
worker_type: "employee"
department: "customer_success"
start_date: "2026-08-03"
context_source: "hris"
verified_at: "2026-07-29T09:00:00Z"The employing entity and work country should come from an approved identity or HR system, not from a guess based on IP address, browser language or time zone, which can be wrong for remote workers, travelers and employees on a corporate network.
We recommend treating the entity as a key of its own and not as a synonym for the office. The entity that employs a person and runs their payroll can sit in a different country from where they work, for example a remote hire employed directly by a US entity who works from Spain. Store both and filter on both: that hire sees only policies written for that combination, and a missing combination produces an escalation instead of a near match.
Keep policy applicability separate from access. A person may be allowed to read a global overview while only one regional procedure applies to the task, and a policy may apply to the employee but stay inaccessible until the start date. The company brain has to evaluate both questions. The Google Cloud IAM overview explains access through principals, roles, policies and resources; use the same discipline for the context service by defining which system supplies each attribute, who may change it and which component may consume it.
Add scope metadata to every onboarding source
A title such as "Expense policy" says nothing about where, when and for whom a page governs. Each source needs metadata that does:
policy_id: "expense-jp-employee-v7"
title: "Japan employee expense policy"
jurisdictions: ["JP"]
employing_entities: ["Example Japan KK"]
worker_types: ["employee"]
departments: ["all"]
effective_from: "2026-04-01"
effective_until: null
status: "current"
owner: "finance-jp"
escalation_route: "finance-jp-help"
supersedes: "expense-jp-employee-v6"Use controlled values and not free-form tags such as Japan team, Tokyo and JP staff. A single country code and entity identifier make filtering predictable, and regional scope is worth adding only when a rule truly varies below the country level. Every policy also needs an owner, an effective date and a status, because jurisdiction filtering cannot protect a hire from an obsolete page if the old and current versions carry the same scope. Archived sources can stay searchable for authorized administrators but should not enter ordinary onboarding answers. A content editor should not be able to change jurisdiction metadata silently; scope changes follow the same review path as the policy itself.
We recommend writing the shared part of a policy once and keeping the country part as a short addendum, instead of maintaining a full handbook per country. Near-copies drift apart, and when two of them match a question the assistant has two plausible pages to choose from, which is the mix-up this guide is about. Give the base page the jurisdiction value GLOBAL and the entity value ALL, tag each addendum with its own country and entity, and let the answer cite both: the base for what is common and the addendum for what differs.
GitLab says its onboarding employment templates are country and role based and kept in a public repository. That is the idea to copy: make applicability and ownership visible in the structure and not hidden in prose.
Filter for applicability before ranking relevance
Apply hard filters before semantic ranking. The system should first reduce the candidates to sources that can govern this employee, then rank those sources for the question:
context = load_verified_employee_context(user_id)
if context.work_country is missing or context.employing_entity is missing:
return ask_for_verified_context()
candidates = search_index.filter(
status = "current",
effective_from <= today,
jurisdiction contains context.work_country or "GLOBAL",
employing_entity contains context.employing_entity or "ALL",
worker_type contains context.worker_type,
allowed_for = user_id
)
results = semantic_rank(candidates, question)
if results are empty or top_result is ambiguous:
return escalate_without_policy_advice()
return generate_answer(question, results, context)Document-level access belongs in the same retrieval path, and role-based, permission-aware onboarding covers that half in detail. Microsoft's document-level access control guidance shows the mechanism: the search query carries user or group information, so results are trimmed before anything is generated. Do not retrieve broadly and ask the model to ignore restricted passages, because a generated summary can disclose information even when the final link is inaccessible. The order is: authenticate the employee, load the verified onboarding context, apply access controls, apply the jurisdiction, entity, worker-type and effective-date filters, rank what remains for relevance, and generate an answer with citations and scope. That order keeps a highly similar foreign policy from outranking the applicable source.
Ask when location context is incomplete
Missing context should produce a question and not an inference. If the HR record has not synchronized, the assistant can say that it cannot determine the applicable policy and direct the employee to verify their employing entity or work country. Avoid asking the employee to choose among legal entities they may not recognize. A useful clarification is operational: "I cannot verify which employing entity covers your onboarding. Check the entity shown in your offer letter or contact People Operations through this request path." Do not display a list of restricted entities or guess from the employee's office.
Some questions need more than country. Benefits can depend on worker type, equipment on department and remote status, payroll on employing entity. Ask only for the missing field the current task needs, and prefer a verified system update over storing a claim from chat as permanent profile data. When two current sources remain applicable, do not merge them: state that the system found an unresolved policy boundary, show the citations the employee is permitted to see, and route the case to the named owner.
Make scope visible in every answer
The answer should tell the employee why the cited policy applies. A compact response header prevents quiet context errors:
Applies to: Employees of Example Japan KK working in Japan
Policy effective: 1 April 2026
Source owner: Finance JapanThen give the steps and place each citation beside the instruction it supports. The Kipwise new-hire onboarding workflow combines assigned reading with searchable company knowledge. Use assigned reading for policies every hire must acknowledge, and use retrieval for task-specific questions. Both paths should use the same governing source metadata.
We recommend giving the employee a one-click way to say that the scope is wrong, and sending those reports to the owner of the HR record and not to the policy owner. A wrong header is usually a data error in the HR system, such as an entity left over from a transfer, and rewriting a policy page would hide it. Do not expose sensitive profile fields merely to prove personalization: the employee needs the applicable scope and not an internal identifier or a full HR record. Log the policy ID and context version for audit.
Test the routing matrix before launch
Build a matrix that changes one context field at a time and reuses the same question, so you can see whether source selection changes correctly:
| Test identity | Question | Expected source | Expected behavior |
|---|---|---|---|
| Japan employee | How do I claim a monitor? | Japan employee equipment policy | Answer with Japan steps |
| US employee | How do I claim a monitor? | US employee equipment policy | Answer with US steps |
| Japan contractor | How do I claim a monitor? | Contractor guidance or none | Answer or escalate |
| Missing entity | How do I claim a monitor? | None | Ask for verified context |
| Unauthorized user | Show Japan payroll setup | None | Refuse without leakage |
| Transferred employee | How do I claim a monitor? | Policy for effective transfer date | Select by date |
For each case, inspect the retrieved source IDs and not just the prose. Confirm that foreign and archived policies were excluded before generation, open every citation under the test identity, and check that cached answers change after an employee transfer or policy update. Start with high-consequence tasks such as payroll setup, statutory leave, benefits enrollment, security access, tax forms and equipment reimbursement, since a wrong cafeteria answer is inconvenient and a wrong payroll deadline affects the employee directly. The NIST AI Risk Management Framework connects context mapping, measurement, management, and governance; apply that sequence by mapping the jurisdictional decision, measuring retrieval under defined identities, assigning policy owners and recording unresolved risk before release.
Handle transfers and policy changes
Location context changes. An employee can transfer entities, relocate, switch worker type or start before an HR update finishes, so store effective dates for both the employee context and the policies, and evaluate the date relevant to the question and not blindly today's profile. A question about next month's payroll may need the future entity, and a question about a past expense may need the entity in effect when the expense occurred. If the date is missing and changes the answer, ask for it.
Invalidate cached answers whenever the work country, employing entity, worker type or department (where it controls applicability), policy status or effective dates, source ownership or access groups, or a policy's superseding relationship changes. Keep an audit event with the question category, context version, selected policy IDs and result, and avoid retaining raw sensitive questions longer than needed.
Pick the task with the biggest country difference
Choose one onboarding task with clearly different country rules, such as equipment reimbursement or payroll setup. Define its context fields, tag every governing source, apply hard filters before semantic ranking, and build six test identities around the same question. Release only when each identity retrieves the expected policy, foreign sources stay excluded, citations open with the employee's permissions, and missing context produces a useful escalation. Then reuse the same metadata and test pattern for leave, benefits, tax and security onboarding.


-p-1080.jpg)
