Skip to content
Back to skills

Offboarding

ASecurity

Lock a leaver out at once: revoke refresh tokens, drop claims, disable the user, and make the rules refuse old tokens.

  • 234 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 28, 2026
ai-agents

Security analysis

A100/100

Scanned September 28, 2026

npx -y skills add receptron/mulmoterminal --skill offboarding --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Offboarding?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Offboarding
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/receptron-offboarding/badge)](https://www.skillsdirectory.com/skills/receptron-offboarding)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: blueprint-internal-offboarding
description: "Lock a leaver out at once: revoke refresh tokens, drop claims, disable the user, and make the rules refuse old tokens."
---

# Offboarding

1. A callable function `offboard({ uid })`, admin only, declared `onCall({ enforceAppCheck: true }, …)` with that option first and on the `onCall(` line (the protect check reads it line by line): `updateUser(uid, { disabled: true })`, set custom claims to
   `{}`, `revokeRefreshTokens(uid)`, then fetch the user AGAIN with `getUser(uid)` — the record you had is from
   before the revocation — and write `revocations/{uid}` with
   `revokedAtSec = Math.floor(new Date(user.tokensValidAfterTime).getTime() / 1000)`, and an audit entry.
   `auth_time` in the rules is in seconds; a value in milliseconds would lock out everyone or no one.
2. The rules' `notRevoked()` (already in the internal rules) refuses any token whose `auth_time` is not after that.
3. If the spec says offboarding need not be immediate, still ship the function — it is the only way to remove access
   before tokens expire — but it need not be on the admin screen.
4. Write `test/blueprint/offboarding.spec.ts`: after `offboard`, a token issued before it is refused by the rules and
   the user cannot sign in again.

Done when the check passes: `emulator-test.sh offboarding`.

## Always

- Read `.blueprint/spec.md` first. It is the agreed specification; do not widen it.
- When you need a decision, ask it through the blueprint question tool and stop. Do not guess.
- Never enable billing, deploy to production, delete data or handle a credential unless this step's gates say the
  user approved exactly that.
- Say you are done by stopping; the executor runs the check. Do not claim success yourself.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.