The non-interference rule
Disconnect the relationship. Keep the agent intact.
BYOAg is additive and scoped. Revocation removes authority for the affected registration or engagement; it must not dismantle the agent that existed before the connection.
Who may initiate it
Revocation has several legitimate sources
The outcome is scoped by what was revoked, not by who initiated the change.
- The person disconnects the agent.
- The platform revokes a registration or engagement.
- Client safety policy withdraws access.
- A compliance rule changes the available grant.
- Credential compromise is detected or suspected.
Deterministic teardown
Six outcomes define a clean removal
Teardown is part of the protocol lifecycle, not an informal cleanup task. A compatible implementation should make each boundary observable and testable.
-
01
Fail closed
Subsequent authenticated calls stop succeeding for the revoked scope.
-
02
Remove the overlay
Engagement-scoped tools, skills, caches, and context become unavailable.
-
03
Retire credentials
Affected credentials are deleted or rendered unusable according to vault semantics.
-
04
Apply retention policy
Engagement-derived context is cleared or retained only as previously declared.
-
05
Preserve the agent
Unrelated tools, skills, memory, configuration, and registrations remain unchanged.
-
06
Keep safe audit evidence
Both sides retain appropriate records without reusable secrets or unnecessary content.
Engagement revocation
Remove one operating context
Only that engagement’s grant, tools, skill overlay, credential, cache, and governed context are retired. The parent registration and other engagements may remain active.
Registration disconnect
End the platform relationship
The connector asks the platform to revoke the registration, then deletes that registration’s local credential and public connector record. Its dependent engagements can no longer operate.
Implemented disconnect request
DELETE <registration endpoint>/<platform registration id>
Authorization: DPoP <registration credential>
DPoP: <fresh proof bound to method, URI, and token> Public result
{
"registrationId": "<local UUID>",
"status": "disconnected"
} The result contains no credential, private key, or unrelated platform record.
What must survive
The before-and-after invariant
Removed
- Affected BYOAg authority
- Scoped credentials and leases
- Scoped tools and skill overlays
- Governed context per retention policy
Preserved
- Pre-existing agent configuration
- Unrelated tools and skills
- Unrelated memory and hooks
- Other platform registrations
Failure behavior
Revoked credentials fail closed
A platform-revoked credential returns a structured
credential_revoked failure. The client must not infer continued
access from an old tool listing or cached engagement descriptor.
Audit without secret retention
Keep attribution, not reusable access
Records may correlate the installation, human account, registration, engagement, capability, policy decision, result, timestamp, and revocation status. They should not preserve reusable secrets or unnecessary model content.