Independent thinking. Informed defence.

CISO Times

Intelligence for the people behind the defence.

The CISO Decision Brief

If…, then how…

If a contractor's engagement ends without HR knowing, then how do we catch it?

7 decision pointsThe pack behind this answer: Joiner-Mover-Leaver & Access Provisioning

Add to board memo

The short answer

Recommendation
Design it so HR never needs to know. Record every contractor in a sponsor register, with a sponsor and an end date, before any account exists, and set every account to expire at the end of that date. A monthly reconciliation catches anything that slips through.
Reasoning
Contractors and agency workers are the people most often missing from HR, so the sponsor register is the only source for their lifecycle. An end date recorded at joining ends the access whether or not anyone is told. It cannot catch work that stops early, so the sponsor, who knows, records an early end the day it happens. The monthly reconciliation is the backstop: an account that matches nobody in the HR record or the sponsor register is orphaned and disabled.
Considerations
  • The 12-month limit on an end date and the reminder 10 working days before it (JML-10), and disabling an orphaned account within 1 working day, are the CISO Times packs' defaults. Your own standard may set others.
  • Only the sponsor can extend an end date. Extending it does not extend non-standard access: each extra right is renewed on its own request, with an expiry no later than the new end date.
  • A configured end date is not evidence that access stopped. Confirm each removal in the system, local accounts included, and treat a system you cannot confirm as still active.
  • An account used after the work ended goes through your incident route. Export its sign-in log and keep the account unchanged first.

The decision, step by step

Select any step for the reasoning behind it and where the pack covers it.

  • Start
  • Step
  • Decision
  • Outcome

Keyboard: Tab to a step, arrow keys move along the flow, Enter pins its explanation, + and − zoom, 0 fits the diagram, Esc closes. The text version below has the same content.

Where a step quotes a number, it is the default in the CISO Times pack. Your own standard may set a different one.

Read as text

The same flow written out: each step, its reasoning and where the pack covers it. 18 steps.
  1. Start

    A contractor's work may have ended unnoticed

    Contractors and agency workers are the people most often missing from HR, which is why the sponsor register, not the HR record, is the only source for their lifecycle events. In the pack's example a contractor's project ended without anyone telling HR or the service desk, and it did not matter: the end date recorded at joining ended the access.

    In the pack

  2. Decision

    Is the contractor in the sponsor register with an end date?

    Every non-employee has a sponsor and an end date, recorded before any account is created and no more than 12 months after the start by the pack's default. A contractor whose account was created on a manager's request, with no register entry, has no end date to expire it. If you cannot find the entry, take the no branch.

    In the pack

  3. Step

    Treat the account as orphaned and disable it

    An account that matches no current person in the HR record or the sponsor register is orphaned. Disable it within 1 working day of finding it by the pack's default, and ask the system owner to name an owner or confirm deletion. If the person is still working for you, their sponsor records them, with an end date, before access is restored.

    In the pack

  4. Outcome

    Raise it as a finding; a pattern is a process weakness

    Raise the orphaned account with the access review coordinator as a finding. An account created with no register entry means the joiner route was bypassed; if it has happened more than once, send it to the process owner as a process weakness with a fix and a date.

    In the pack

  5. Decision

    Has the recorded end date already passed?

    At the end of the recorded end date every account set to expire stops working, whether or not anyone told HR. Local accounts in systems that cannot expire accounts are removed from the leaver checklist at the same time.

    In the pack

  6. Decision

    Has the work stopped before the recorded end date?

    This is the case the end date cannot catch on its own: the work stops early and the accounts stay live until the date arrives. The sponsor is the person who knows, and the reminder before the end date is the routine moment to ask. The periodic access review is a later backstop: it raises an account with no sign-in for 90 days, by its default, as dormant. If the sponsor cannot say whether the work continues, treat it as stopped.

    In the pack

  7. Decision

    Does the sponsor want to extend the end date?

    The service desk reminds the sponsor 10 working days before the end date by the pack's default. The sponsor decides: let the engagement end, or extend it. Only the sponsor can extend it.

    In the pack

  8. Step

    The sponsor records a new end date; renew extras separately

    The sponsor records the new end date in the sponsor register, no more than 12 months ahead. Extending the end date does not extend non-standard access: each extra right still needed is renewed on its own request, with the same approvals and an expiry no later than the new end date. Update each account's expiry to match.

    In the pack

  9. Outcome

    Let the accounts expire at the end date

    Nothing more is needed while the work continues: the accounts expire at the end of the recorded end date. Non-standard rights end sooner if their own expiry comes first. The month-end reconciliation confirms that expired accounts are gone.

    In the pack

  10. Step

    The sponsor records the early end; it is a leaver today

    The sponsor records the new end in the sponsor register the day the work ends, and the person is a leaver that day. The service desk opens the leaver checklist, with a line for every system the person's access reaches. Recover equipment and badges the same day.

    In the pack

  11. Step

    Check each account expired, local accounts included

    Check the directory and every system with local accounts, from its own user list or audit log. A configured end date is not evidence that access stopped, and a system that cannot expire accounts depends on its named administrator removing them from the leaver checklist.

    In the pack

  12. Decision

    Is any account still active in any system?

    A removal counts only when it is confirmed in the system. If you cannot confirm a system's state, because its extract did not arrive or nobody can check, treat its accounts as still active.

    In the pack

  13. Step

    Remove it now and record the removal as late

    Call the named administrator, then the system owner, and block sign-in at the gateway where the account cannot be removed. A removal after the end date is late: raise it with the access review as a finding. Where a supplier runs the system and cannot remove it in time, the system owner raises the removal time against the contract.

    In the pack

  14. Decision

    Did they hold privileged access or know shared credentials?

    A supplier's engineer may hold a named supplier administrator account, enabled only for agreed windows, and a contractor may have been given administrator rights for a project. Check the privileged account inventory and the vault's access log for this person. If you cannot tell, take the yes branch.

    In the pack

  15. Step

    Disable privileged accounts; change what they could read

    Disable every privileged account the person holds, end its sessions and revoke its tokens. A supplier's engineer is disabled the same day the supplier tells you, and the supplier must tell you within 1 working day by the pack's default. Change every shared, service and break-glass credential the person could read within 1 working day.

    In the pack

  16. Decision

    Was any account used after the work ended?

    Look at each system's sign-in log for the period between the end of the work and the removal. In the pack's example the log of a warehouse account removed late showed no sign-in after the last working day. If the logs do not cover the period, you cannot rule use out.

  17. Outcome

    Report it as a possible security incident

    An account used after its owner left is reported through your incident route. Keep the account and its logs unchanged, and export the sign-in log before anything else is done to the account.

    In the pack

  18. Outcome

    Record the removal times; the month end checks again

    Record each removal time on the leaver checklist and in the provisioning log. At the month end the reconciliation compares every non-employee's accounts with the sponsor register and lists any that survived, and a repeated cause goes to the process owner as a process weakness.

    In the pack

Practical checklist

  1. Record each contractor in the sponsor register, with a sponsor and an end date, before any account is created.
  2. Set every account to expire at the end of the end date, and put the date on the leaver checklist for systems that cannot expire accounts.
  3. Remind the sponsor 10 working days before the end date, and have them let it end or record a new end date.
  4. When work stops early, have the sponsor record the new end that day, and run the leaver checklist.
  5. Confirm each account has gone in every system. Remove any still active at once, and record the removal as late.
  6. Disable any privileged accounts, and change shared, service and break-glass credentials the person could read within 1 working day.
  7. Check sign-in logs for use after the work ended. Report any use, or a period the logs do not cover, as a possible incident.
  8. Reconcile every system's accounts with the HR record and the sponsor register each month, and raise orphaned accounts as findings.

Evidence to have ready

  • The sponsor register entry for each contractor: sponsor, reason, start and end date, recorded before the account was created.
  • Each account's configured expiry, or the end date on the leaver checklist for systems that cannot expire accounts.
  • The leaver checklist and provisioning log, with each removal time confirmed in the system.
  • The monthly reconciliation report, with each orphaned account, when it was disabled and the finding raised.
  • For privileged access, when it was removed and the date each shared credential the person could read was changed.

Assumptions

  • You keep a sponsor register for contractors, agency workers and suppliers' staff, and every one has a sponsor who answers for their access.
  • Accounts can be set to expire automatically at a date, at least in the directory, and you can extract the accounts from every in-scope system each month.
  • The 12-month limit, the 10-working-day reminder and the 1-working-day limits are the CISO Times packs' defaults. Your own standard may set others.

Not covered here