Buy me a coffee

← Tools

Access review: Halden Logistics, application accounts

Download Word (.docx) Download Excel (.xlsx)

Inputs: Accounts (example data) (120 accounts, 72 distinct people, 60 apps), Employees (example data) (80 HR records), Apps (example data) (data sensitivity). I checked every account in a script, not a sample.

Unverified: gaps in the inputs

Sensitivity order (step 2)

I reviewed the 10 confidential apps first: APP-002, 003, 004, 006, 009, 011, 027, 044, 045 and 047, which hold 20 accounts. The other 50 internal apps came after. Two of the three orphaned accounts are on confidential apps.

Exceptions table

Exceptions table
AccountPersonApp (sensitivity)RoleLast loginIssueRecommended action
ACC-063EMP-072APP-003 Staffhub HRIS (confidential)user2026-08-08Orphaned: leaver. Terminated 2026-07-02, and the account was used 37 days after leavingRemove, and investigate the login after termination
ACC-104EMP-099APP-044 Payflow AP automation (confidential)user2026-08-21Orphaned: no matching person. EMP-099 isn't in HR (IDs stop at EMP-080)Investigate, then remove
ACC-019EMP-071APP-019 Taskmoor Project mgmt (internal)user2026-08-20Orphaned: leaver. Terminated 2026-05-15, and the account was used 97 days after leavingRemove, and investigate the login after termination
ACC-017EMP-017APP-017 Meetrix (internal)admin2026-08-18Privileged roleOwner to re-approve
ACC-034EMP-034APP-034 Ratecheck (internal)admin2026-08-07Privileged roleOwner to re-approve
ACC-051EMP-051APP-051 Safeyard (internal)admin2026-08-24Privileged roleOwner to re-approve
ACC-068EMP-068APP-008 Clausebase (internal)admin2026-08-13Privileged roleOwner to re-approve
ACC-085EMP-015APP-025 Pulseboard (internal)admin2026-08-02Privileged roleOwner to re-approve
ACC-102EMP-032APP-042 Pipewright ETL (internal)admin2026-08-19Privileged roleOwner to re-approve
ACC-119EMP-049APP-059 Clickpath (internal)admin2026-08-08Privileged roleOwner to re-approve

How each conclusion was reached

Decisions needed

Evidence summary

Evidence summary
ItemResult
Accounts reviewed120 of 120 in the export (Unverified: whether the export is the full population)
People matched to HR71 of 72 distinct IDs match an HR record, and 69 of those are active
Confidential apps reviewed first10 apps, 20 accounts
Orphaned accounts3: two leavers (both used after termination) and one unknown person
Privileged accounts for re-approval7
Dormant accounts (90 days)0 (Unverified: export date)
SoD conflictsNot tested, because no rules were supplied
Owner decisions collected0 of 10, all pending

Auditor memo

Scope. User accounts for Halden Logistics' 60 business applications, from Accounts (example data), checked against the HR list in Employees (example data). The export date wasn't supplied, and dormancy was measured against 2026-09-24 (Unverified).

Population. 120 accounts held by 72 person IDs, checked against 80 HR records. The per-app user counts in Apps (example data) are much higher than the export. Completeness of the export must be confirmed before this memo can support a statement that covers every user.

Method. Apps were ordered by data sensitivity, and the confidential ones were reviewed first (XW-028). Every account was matched to an HR record (XW-015). Accounts belonging to leavers or to people not in HR were flagged as orphaned (XW-017). Admin roles were flagged for owner re-approval (XW-018). Accounts with no login in the 90 days before the export date were checked for dormancy (XW-016). The whole population was tested; nothing was sampled.

Exceptions. Three orphaned accounts:

Seven admin accounts are awaiting re-approval. No dormant accounts were found.

The two logins after termination suggest leaver access removal isn't working. This is a control failure, not just housekeeping.

Actions. Owners decide on removal and re-approval, and the IAM team confirms each removal in the system of record. Security should be told about both logins after termination. SoD testing is pending until rules are supplied. None of the actions is complete yet.

Clauses covered

``findings [ {"type": "orphaned_account", "id": "ACC-019"}, {"type": "orphaned_account", "id": "ACC-063"}, {"type": "orphaned_account", "id": "ACC-104"} ] ``