job_title: "Engineering Manager", department: "Engineering".
The policy engine recalculates her access:
Should add: Engineering Manager group. People management tools. Budget dashboards.
Should remove: Salesforce (no longer in Sales). Sales Team Slack channels. Customer-facing tools.
The orchestration layer provisions the new access and revokes the old access.
Within 30 seconds, Sarah loses access to: All her customer accounts in Salesforce. Sales team communications. Customer success collaboration tools.
She’s in the middle of handing off three enterprise deals to her replacement. She needs Salesforce access for another month. She needs Sales Slack access to coordinate handoffs. She needs customer context to brief her replacement.
The automation just broke her transition.
This is why organizations need graceful deprecation—the practice of removing access gradually, with defined overlap periods, rather than revoking everything immediately when someone’s role changes.
The Problem with Immediate Revocation
Policy-based access is correct in principle: When someone’s role changes, their access should match their new role. Policy-based access is wrong in practice: Role changes aren’t instantaneous. There’s a transition period where people need:- Access from their old role (to hand off responsibilities)
- Access from their new role (to start new responsibilities)
- Time to adjust (customer context can’t be transferred instantly)
1
Handoffs break
Knowledge transfer requires access to the systems where knowledge lives.
2
Productivity drops
People spend time searching for who can help instead of working.
3
Frustration rises
“I can’t do my job because IT revoked everything.”
4
Shadow IT emerges
Manual workarounds, shared credentials.
Graceful Deprecation Patterns
Different types of access need different deprecation strategies:Pattern 1: Grace Period (Keep Access Temporarily)
Use case: Access that should be removed eventually, but the user needs overlap during transition.- Marks access as “deprecated” (still active but scheduled for removal)
- Sets expiration date based on grace period
- Notifies user: “Your Salesforce access will be removed in 30 days”
- Auto-revokes on expiration date
Pattern 2: Downgrade (Reduce Permissions, Don’t Remove)
Use case: User still needs some access, but at a lower privilege level.Pattern 3: Conditional Keep (Retain if Criteria Met)
Use case: Access should be removed unless specific conditions are met.Pattern 4: Convert to Exception (Make Temporary Access Explicit)
Use case: Old role access becomes an exception with explicit expiration.Pattern 5: Manager Approval for Retention
Use case: IT doesn’t know if old access should persist. Let the manager decide.- Remove immediately
- Remove with grace period
- Keep permanently (and optionally update policy if this is a common pattern)
Implementation: Graceful Deprecation Engine
Data Model
Deprecation Policy Configuration
Role Transition Handler
Real-World Scenarios
Scenario 1: Sales Engineer to Engineering Manager
Attributes change:
Timeline:
- Day 0: Promotion effective. Engineering access added immediately.
- Day 1-14: Sarah has both Sales and Engineering access (overlap period)
- Day 14: Sales Slack channels removed
- Day 30: Salesforce removed
- Day 30+: Only Engineering access remains
Scenario 2: Engineer to Senior Engineer (Promotion)
Attributes change:
No deprecation needed—this is a promotion within the same department. Only additions and upgrades.
Scenario 3: Engineering Manager to Director (Promotion)
Attributes change:
Rationale: Directors need less hands-on access and more strategic access.
User Communication
Users must know when their access will change.On Role Transition
Before Expiration
Monitoring Graceful Deprecation
Track these metrics: Active deprecations. How many access grants are in grace period? Average grace period duration. Are grace periods too long or too short? Extension rate. What percentage of deprecations are extended? Manual revocations. How often is access manually revoked before expiration? Dashboard:The Bottom Line
Immediate revocation breaks role transitions. Graceful deprecation makes them smooth. Key patterns:1
Grace period
Keep access temporarily—30 days for handoffs.
2
Downgrade
Reduce permission, don’t remove—Developer to Reporter.
3
Conditional keep
Retain if criteria met—customer-facing team keeps CRM.
4
Convert to exception
Make temporary access explicit.
5
Manager approval
Let the manager decide edge cases.
- Deprecation policies (define how each access type should be removed)
- State tracking (active → deprecated → expired)
- Scheduled removal (auto-revoke on expiration)
- User notifications (communicate changes and timelines)
Next up: Building audit-ready compliance—how to make auditors appreciate the access management system.
Want to see graceful deprecation in action? Explore Provisionr’s transition policies