Owner: HR Lead — Anam Mahmood
Joint Ownership: Head of Delivery — Hamza Tasneem (review authority)
Contributors: Project Manager / Team Lead (D4) · Andrew Herbert (Upwork admin
exception only)
Department: D6 — Operations (HR & People)
Entity: PrivateAI
Status: v0.9 · In Progress
Version: 0.9 | Last updated: 2026-07-01 | Classification: Confidential
What this workflow does: Ensures every contractor engagement ends cleanly —
communication channel access is removed, all system and documentation access is
revoked, and the engagement is formally closed in Upwork.
What triggers it: The agreed project, milestone, or contract period has been
completed — or the engagement is otherwise concluded, including early termination
for performance or business reasons.
What it produces: A contractor with zero remaining access to company or client
systems and communication channels + a formally closed Upwork contract.
Why it matters: Protects business and client security posture, prevents
unauthorised post-engagement access, and closes engagements cleanly. Because
contractors engage through Upwork rather than employment directly, no payroll
clearance or formal exit documentation is required beyond contract closure.
Andrew's involvement: Administrative exception only. If required by Upwork
account permissions, Andrew Herbert (account owner) performs the final contract-close
action in Upwork. This is an administrative platform task, not process ownership.
| Role | Department | Responsibility | Andrew? |
|---|---|---|---|
| Project Manager / Team Lead | D4 Delivery | Confirms project/contract completion or termination. Confirms deliverables before closure. | No |
| HR Lead (Anam Mahmood) | D6 Operations | Executes offboarding — removes Discord access, revokes system/folder/documentation access, verifies completion. | No |
| Head of Delivery (Hamza Tasneem) | D6 Operations | Operational oversight and governance. Review authority for this document. | No |
| Andrew Herbert | D6 Operations | Administrative exception — closes the Upwork contract only if required by platform account permissions. Not process ownership. | Admin only |
Step 1 — Confirm engagement completion
Step 2 — Close engagement in Upwork
Step 3 — Remove communication channel access 🤖
Step 4 — Revoke system and documentation access
Step 5 — Verify and complete offboarding
| Tool | How it's used | Agent-ready |
|---|---|---|
| Upwork | Contract closure; future communication if required | TBD — pending OPS-O02 |
| Discord | Removal from all internal communication channels | Yes — confirmed stack |
| Project-specific systems | Manual revocation of shared folders and client/internal system access | TBD — pending OPS-O02 |
| Internal offboarding checklist | Verification that all access has been removed | TBD — pending OPS-O02 |
⚠️ Tool gaps: No formal contractor offboarding checklist currently exists.
No contractor asset/access tracking system. No standardised access-revocation
workflow. All three flagged for OPS-O02 assessment.
| Decision | Step | Options | Owner |
|---|---|---|---|
| Contract status | Step 1 | Completed as agreed → standard offboarding · Ended early → immediate offboarding | PM / Team Lead |
| System access present | Step 4 | Yes → revoke before closing · No → proceed to Step 5 | HR Lead |
| Future engagement likely | Step 4 | May be rehired → Upwork contact only; all access still removed · No further work → close fully | HR Lead / HOD |
| Scenario | How to handle | Escalation |
|---|---|---|
| Contractor retains access after project completion | HR Lead manually removes access from all systems immediately | HR Lead → HOD if unresolved |
| Contractor remains in Discord after engagement | HR Lead removes contractor during offboarding | HR Lead |
| Upwork contract not formally closed | Account owner (Andrew) closes the engagement | HR Lead follows up directly with Andrew |
| Incomplete knowledge transfer | PM/Team Lead confirms deliverables before closure | PM/Team Lead → HOD; may trigger DEL-07 |
| Metric | Type | Target |
|---|---|---|
| Contractors removed from Discord within 24h of completion | Leading | 100% |
| System access revoked within 24h of completion | Leading | 100% |
| Time from contract completion to full offboarding | Leading | TBD — baseline pending |
| Active contractor accounts post-engagement | Lagging | 0 |
| Unauthorised access incidents post-offboarding | Lagging | 0 — INF-02 incident log |
| Required project handovers completed before closure | Lagging | 100% — PM confirmation |
| Step | Current state | Suggested automation | Tool | Effort |
|---|---|---|---|---|
| Step 3 — Remove Discord access | Manual | Auto-remove contractor role on Upwork contract-close trigger | n8n | Low |
| Step 4 — Revoke system access | Manual | Centralised access tracking with auto-revocation on offboarding trigger | n8n + TBD access tool | Medium |
| Step 5 — Verify completion | Manual | Auto-generated checklist with completion tracking per contractor | n8n / TBD | Medium |
| Direction | Workflow | What flows |
|---|---|---|
| Upstream | CS-06 — Client Offboarding | Client-side offboarding can trigger contractor offboarding for tied engagements |
| Upstream | DEL-02a — AIe Ongoing Engagement | Confirms engagement end — triggers offboarding |
| Upstream | DEL-05 — AIe & AIc Placement | Placement record closed as part of offboarding |
| Downstream | DEL-07 — Knowledge Management | Offboarding can trigger contractor knowledge capture |
| Downstream | OPS-H01 — People Register | Updated to Contractor-inactive |
| Downstream | INF-02 — Security Incident & Breach | Access removal verified |
| Downstream | OPS-F01a — Invoicing | Final contractor payment processed |
| Version | Date | Description | Author |
|---|---|---|---|
| 0.9 | 2026-07-01 | Initial draft — 5-step offboarding process. Andrew's administrative Upwork role documented as exception only. Checklist gap flagged. Access tracking gap flagged. | Anam Mahmood via Workflow Builder |