ServiceNow Employee Center: Security and Access Design
Access design for Employee Center is the set of role rules that decides who can see and change each HR record in the self-service portal. The guide covers role models, least privilege, segregation of duties, audit logging, access reviews and confidentiality layers for sensitive data.
Define the Role Model for Employee Center
Employee Center is a self-service portal for employees to manage their own HR data. Who can access what? An employee should see and edit their own data but not a colleague’s. A manager should see their team’s data but not other teams. HR should see all employees (with confidentiality limits).
Good practice is to define role-based access control (RBAC). Roles are: Employee (basic user), Manager (can view team, approve requests), HR Generalist (can view all non-confidential data, manage employee records), HR Specialist (can view confidential data, process sensitive requests), HR Manager (oversees HR team), and Auditor (read-only access for audit).
Each role has explicit permissions: Employee role can read own record, update own emergency contact, view own pay stub, view own time off balance. Manager role can read own record and team members’ records (limited fields), approve time off for their team. HR Generalist role can read all employee records, create and update records, process requests. Auditor role can read all records (no create/update).
Apply Least Privilege Principle
Least privilege means users get the minimum access needed to do their job. A front-line recruiter does not need access to compensation data. A payroll processor does not need access to recruiting data.
Review each role and ask: what does this person absolutely need to see and do their job? Remove everything else. Apply this across fields (a recruiter can read job titles and departments but not salary), across tables (a recruiter can access job postings and applicants but not employee records), and across actions (a recruiter can create job postings but not delete them).
This limits damage if a credential is compromised. A recruiter account that is hacked gives access only to recruiting data, not the entire employee database.
Segregation of Duties for Sensitive Transactions
Segregation of duties (SOD) means that critical actions require multiple people to approve. One person cannot approve a salary increase for themselves. One person cannot create an employee, set their salary and add them to payroll all alone.
Common SOD splits: Data creation (who creates a record) is separate from approval (who approves the data is correct). Data change (who modifies a record) is separate from audit (who reviews changes). Sensitive data access (who can see salary information) is separate from data modification (who can change salary). These separations prevent fraud and catch errors.
In ServiceNow, implement SOD through workflows: a manager can request a salary increase for their team, but HR must approve. A recruiter can create a job posting, but HR leadership must approve before it is published. An employee can request time off, but their manager must approve.
Audit Logging and Evidence Collection
Every change to sensitive data should be logged: who made the change, when, what changed, what the old value was, what the new value is. This audit trail is essential for compliance and investigation.
Enable audit logging on sensitive tables: employee records, compensation, time off, access changes. If an audit log shows that salary was changed at midnight by an odd account, that is a red flag.
Audit logs should be protected: only auditors and HR leadership can read them. Do not let a manager see their own audit trail (they might want to cover up unauthorized changes). Retain audit logs for 7 years (minimum for most regulations).
Access Review and Recertification Cycle
Permissions drift over time. An employee gets promoted and their old role is not removed. A contractor’s access is not revoked after their contract ends. An old role with obsolete permissions remains in the system.
Establish a review cycle: quarterly or semi-annually, managers certify that their team members have appropriate access. HR leadership reviews HR team permissions. A designated access auditor reviews privileged roles. If access is not recertified, it is revoked automatically.
During review, ask: does this person still need this access for their current role? Have they changed departments or been promoted? Should their access have changed? Use this review to catch mistakes and to identify people who are holding obsolete roles.
Confidentiality Layers for Sensitive Data
Some employee data is sensitive: compensation, performance ratings, health information, investigation records. Different users need different access to this data.
Define confidentiality tiers: public (open to all employees), confidential (HR and manager only), restricted (HR leadership and audit only). Use table and field-level security to enforce these tiers. An employee cannot see a colleague’s compensation; only their own manager and HR can see it. Performance ratings are even more restricted; only the rating manager, HR and confidential auditors can see them.
Test these restrictions carefully. Write a query that joins employee, compensation and performance rating tables; verify that a non-HR user returns empty results. A breach in access control here is a serious security and compliance issue.
Data Protection in Transit and at Rest
Data is sensitive whether it is stored or moving. Protect it in both states.
In transit: use HTTPS for all web traffic (Employee Center must be HTTPS, not HTTP). Validate SSL certificates. Use VPN for admin access to ServiceNow.
At rest: ensure database encryption is enabled. Backups should be encrypted. Do not export employee data to spreadsheets without encryption and access controls.
Where employee data leaks in a portal, beyond the record itself
Access design for an employee portal often starts with the employee record and stops there. The leaks that cause real trouble come from places that were never modelled as data at all: a knowledge article that quotes a pay band, a search result that shows a colleague’s name next to a case category, a report exported by a manager with broader rights than they need, a Virtual Agent answer that reads back a field the user should not see, or an integration account with administrator rights because nobody wanted to debug a permissions error during the build. Map each of these surfaces before the access model is finished, because each one needs its own control.
The question to ask of every surface is not “who can open this record” but “what can a person learn from this surface if they are curious and patient.” A search box, a list view with a sort order, and a chatbot that answers in plain sentences can each reveal a value that the record page hides. Design the controls around that question and test them with the same persistence an unhappy employee would bring.
Choosing how to restrict a sensitive field
There is more than one way to hide a value, and they differ in what they protect. The table compares the common options so the team can match each sensitive field to a control that actually stops the leak it is meant to stop.
| Control | Stops which exposure | Does not stop | Use it when |
|---|---|---|---|
| Table-level access rule | Whole records being read by the wrong group | A permitted user reading a sensitive column through a report | The entire record is sensitive to the group concerned |
| Field-level access rule | A single column being read through forms, lists and scripts | The same value appearing in a free-text note or attachment | One or two fields are sensitive inside an otherwise open record |
| Data policy on the field | Values being written or changed without the right approval path | Reading, because it governs change rather than visibility | The concern is integrity rather than privacy |
| Separate table or scoped area | Accidental reporting and search across the whole employee population | Deliberate copying by anyone with rights to both areas | A class of data needs its own owner and its own retention rule |
| Content kept out of the portal | Articles and chatbot answers quoting the value | Users who ask the source system directly | The value is not needed by employees in the portal at all |
A pre-go-live access test sequence
- List every surface a user can reach: forms, lists, reports, search, knowledge, the chatbot, notifications and attachments.
- For each sensitive field, write one negative test per surface, starting from the least-privileged account that should be blocked.
- Run the tests with real accounts from each role, not with a single administrator who sees everything and reports the screens look right.
- Check integration accounts separately. Confirm that each one can perform only the writes its integration needs, and that a failed call cannot be used to read more than the mapping allows.
- Record each failure, fix it, and rerun the full sequence rather than only the failed case.
Failure patterns that recur
A common case is a knowledge article that quotes a figure from a restricted source, because the author was writing for employees and did not realize the number was sensitive. The second is a report built by a manager on a copy of a table they can read, which then gets shared in a team channel. The third is a notification that carries a sensitive value in the body text of an email sent to a shared inbox. Each is cheap to prevent at design time and expensive to find after a complaint.
Questions teams ask about portal access
Can a knowledge article safely mention an allowance amount?
Only if the amount is public policy and is stated as such, with the effective date and the owner who approved publication. A figure that varies by individual, grade or location should never appear in an article, because the article is visible to everyone who can search. Link the employee to the controlled record instead.
Should integration accounts ever hold administrator rights?
Rarely. An integration account needs the writes its mapping requires and a read scope that matches its purpose. Administrator rights make a compromised credential far more damaging and make audit logs harder to read, so grant them only for a documented build step and remove them before go-live.
How do we check that search does not reveal restricted records?
Search with a non-privileged test account for each sensitive field and look at titles, snippets and suggestions, not only at the record page. Repeat the check after any change to the knowledge model, because new article types can expose fields that were previously hidden.
Does the chatbot need the same controls as the portal?
Yes. The chatbot reads data on behalf of the user, so every answer must pass the same access checks as a page would. Test it with each role and confirm that a refusal looks like a normal “not available to you” response rather than an error that reveals the field exists.
Reviewing the access surfaces
The ownership of each surface should match the responsibilities agreed for the portal, and any gap between the two is worth closing first.
Related guides: ServiceNow Access Controls: A Practical Review Guide.
Frequently asked questions
Should employees be able to see their manager's employee records or only their team?
Typically managers see their direct reports only, not peers or managers above them. If a manager needs to see peer data (e.g., coordinating across teams), grant that explicitly by role or team assignment, not by default.
How do we handle access for contractors and temporary workers?
Assign them a temporary role with limited access (contractor role usually has fewer permissions than employee). Set an access expiration date equal to their contract end date. When the date passes, access is automatically revoked. This prevents forgotten access after contractors leave.
What should we do if an employee complains their manager can see their sensitive data?
Investigate the manager's role. If the manager should not have that access, remove it. If the manager legitimately needs access (e.g., for time-off approvals that reference health reasons), ensure the employee understands and consents. Document the access reason. Use confidentiality notices on sensitive fields so managers know they are seeing confidential data.
Related guides
Related Oblytech services
Where this topic turns into delivery work, these are the Oblytech services that cover it.
Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.
Contact us