Skip to main content
PurpletGo

For Security, Compliance, Legal and HR teams

When someone leaves, nothing stays behind.

Security teams shouldn't have to wonder if an old employee can still get in. PurpletGo makes sure they can't.

30-day free trial - no credit card required

A sample departure: Dana boards, the train leaves, and her case stays open until every system and step is done.

6 Live connectors

Verified on the systems your company already trusts.

Each one has had a real revoke run against a live vendor account before we call it Live.

  • Google Workspace: Account suspended, Signed out of every session, App tokens revoked, Read back to confirm nothing is left.
  • Microsoft 365 / Entra ID: Account disabled in Entra ID, Sign-in sessions revoked, Removed from groups, Licenses removed.
  • Okta: Sessions cleared, User deactivated, Removed from groups.
  • Slack: Member deactivated through Slack SCIM.
  • GitHub: Removed from the organization, Pending invitation cancelled.
  • AWS: Access keys deleted, Deny-all policy attached, Console login deleted.

You decide whenNothing is revoked until an admin or HR user starts it.

A result from each systemRevoked, failed or needs manual action, kept per system.

Evidence on every planAudit log with CSV export and a PDF case report.

Credentials locked downEncrypted at rest. Connecting anything asks for your password again.

* Slack revocation runs through Slack SCIM, so it needs a Slack Business+ or Enterprise plan.11 more stay Beta until they pass the same test. How we count

Why offboarding fails

Offboarding rarely fails loudly.

It fails as a task marked complete on a record nobody reopens. Each case below is the kind of departure that closes clean in a tracker while something is still live.

IT-482 · sample log

The ticket said done

A revoke request that returns 403 still closes the task. Nobody reads the response body of a job that reports success by default.

Each system's own result is kept. A failed revoke holds the case open.

IT-517 · sample log

The app nobody listed

Offboarding runs off a checklist written two years ago. The tools the team actually adopted since then are not on it.

A role's apps live in its role template, not a checklist someone has to remember.

IT-533 · sample log

The laptop, still out

Access comes off in minutes. The case sits open for weeks because the only person who can return the hardware has stopped reading company email.

The laptop is tracked as an asset. The case stays open until its return is confirmed.

How it works

Revoke, verify, prove it, and close it.

Secure offboarding is a case, not a button. PurpletGo turns every departure into one, and the case stays open until the parts only other people can finish are done too.

1234Drag DR's train along the trackDR

Step 1 of 4

Revoke

One action suspends the leaver on your identity provider and removes them from the apps you select. No per-app console, no runbook.

In the sample case

A sample case. Each system reports its own outcome: Google Workspace and GitHub confirm the removal, Jira returns HTTP 403 and the error is kept, and Notion has no removal API on this tier, so it goes to a person with the reason attached.

Revoke access - Dana Reyes

Sample

Selected apps

Google WorkspaceGitHubJira CloudNotionRevoke all access

2 apps still need attention before the offboarding can move on.

  • Google WorkspaceRevoked

    dana.reyes@example.com suspended in Google Workspace; All active sessions revoked for dana.reyes@example.com; Revoked 3 third-party app token(s) for dana.reyes@example.com; removed dana.reyes@example.com from all 4 Google Group membership(s)

  • GitHubRevoked

    dreyes removed as active member from "example-co"

  • Jira CloudFailed

    Jira user dana.reyes@example.com still has access: removed from 0/2 group(s), failed: jira-software-users (HTTP 403), confluence-users (HTTP 403); user deletion failed (HTTP 403). The token needs Site administration and the manage:jira-configuration scope.

    I removed it by hand
  • NotionRemove by hand

    Notion has no user-removal API on this plan tier - manually remove dana.reyes@example.com via Notion workspace settings → Members, or connect Notion as 'Notion (SCIM)' if this workspace is on the Enterprise plan with SCIM configured.

    I removed it by hand
Open the recordTry againClose

A real case

He left Cisco in April. A way back into its AWS stayed behind.

About five months later, on 24 September 2018, the former engineer used it to delete 456 virtual machines behind Webex Teams. Over 16,000 accounts were down for up to two weeks.

DEPARTUREApril 2018 · CiscoCisco's AWSthe engineer

April 2018An engineer resigns from Cisco.

virtual machines deleted
456
Webex Teams accounts shut down
16,000+
before those accounts were back
Up to 2 weeks
refunded to customers, on top of about $1.4M in staff time
$1M+

With PurpletGo, the AWS revoke:

  • Deletes the access keys
  • Attaches a deny-all policy, which blocks the user even if a credential was missed
  • Deletes the console login

It runs in the same revoke as every other system you connect, when an admin or HR user starts it, and the case stays open until each one reports back.

Source: U.S. Department of Justice, Northern District of California, the guilty plea of 26 August 2020 and the sentencing of 9 December 2020.

See what PurpletGo does for your tools

FAQ

Questions worth asking

How is this different from the deprovisioning my identity provider already does?

An identity provider deactivates the accounts it federates. It does not tell you what happened in the apps outside that federation, it does not track the laptop, and it does not hold the case open until those are resolved. PurpletGo records a per-system outcome for every app you connect and keeps the departure open while anything in it is unresolved.

What happens when a revoke fails?

It is recorded as failed, with the error the vendor returned, and the case stays open. A retry re-runs only the systems that failed. If a system has no deprovisioning API at all, it is marked as needing manual action rather than being silently skipped, and someone has to confirm it by hand before the case can close.

Does PurpletGo find accounts we did not know about?

No, and no offboarding tool honestly can. PurpletGo revokes on your identity provider and the apps you connect to it. Shadow IT that was never connected to anything is outside what any deprovisioning product can see. What it does guarantee is that nothing you did connect gets marked done without a result.

How does a departing employee finish their tasks once their accounts are off?

Through a private link sent to a personal address, because corporate email usually stops working on the last day. They open it with a one-time code, sent by text when SMS is set up and otherwise by email. The link opens exactly one offboarding, lasts seven days, and can be revoked instantly from the employee record. It only ever exposes that person’s own outstanding items.

What evidence does an auditor actually get?

An audit log where every action carries a timestamp and a named actor, plus a PDF case report for each departure, included on every plan. Team and Enterprise make the log tamper-evident, with each entry chained to the one before it. The per-system outcomes are part of that record, so the evidence shows what failed as well as what succeeded.

Find out what your last offboarding missed.

Connect your identity provider, run one departure, and read the per-system results.

30-day free trial - no credit card required