feat(identity): enforce lifecycle audit semantics
This commit is contained in:
@@ -92,6 +92,28 @@ manifest = ModuleManifest(
|
||||
audience=("tenant_admin", "access_admin", "operator"),
|
||||
order=24,
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="identity.lifecycle",
|
||||
title="Administer identity and account-link lifecycle",
|
||||
summary="Deactivate identities reversibly and change the primary account without discarding link provenance.",
|
||||
body=(
|
||||
"Deactivation removes an identity from ordinary search while direct resolution retains an explicit inactive record; it preserves all account links and is not account suspension or erasure. "
|
||||
"A primary-account change selects an existing link, atomically demotes the previous primary, preserves multiple-account compatibility, and records actor, old/new account, and link-source evidence. The authorized caller commits or rolls back state and audit evidence together."
|
||||
),
|
||||
layer="configured",
|
||||
documentation_types=("admin",),
|
||||
audience=("tenant_admin", "access_admin", "operator"),
|
||||
order=25,
|
||||
metadata={
|
||||
"kind": "reference",
|
||||
"prerequisites": [
|
||||
"The caller has separately established lifecycle authority.",
|
||||
"The replacement primary account is already linked to the identity.",
|
||||
],
|
||||
"outcome": "Identity visibility or primary-account state changes without deleting account-link provenance.",
|
||||
"verification": "Confirm ordinary versus include-inactive directory results, inspect every retained account link, and review the matching identity lifecycle audit record.",
|
||||
},
|
||||
),
|
||||
),
|
||||
architecture=declared_module_architecture(
|
||||
layer="institutional_foundation",
|
||||
|
||||
Reference in New Issue
Block a user