Data Definition Document: Unified Identity
Domain: Unified (audit, communications, identity, library, notifications, search, signals, vault, workflow)
Logical Sub-Domain: Identity & Access (IA)
Physical Packages: @sd/mod-unified-identity
Related Documents: Process Blueprint
Context: This document defines the Data Structures for Access Requests and the Lifecycle Extensions applied to the User entity.
Source: packages/modules/unified/identity/src/types.ts
0. Entity Relationship Diagram (ERD)
erDiagram
%% Core Framework
USER ||--o{ ACCESS_REQUEST : "makes"
USER {
string id PK
string[] roles
json lifecycle "Extended State"
}
ACCESS_REQUEST {
string id PK
string requestedRole
string[] documentUrls
enum status "submitted, resolved"
}
FORENSIC_PROOF {
string id PK
string url "WORM Storage"
}
ACCESS_REQUEST ||--|{ FORENSIC_PROOF : "contains"
1. Data Structures
Entity: AccessRequestData
The payload submitted by an unverified user to claim an identity.
| Field | Type | Required | Description |
|---|---|---|---|
fullName |
string |
Yes | Legal Name. |
email |
string |
Yes | Contact Email. |
requestedRole |
string |
Yes | Enum: Owner, Tenant, Guest, Vendor, Staff. |
unitNumber |
string |
No | Required if Resident (Regex: ^[A-Z]\d{3}[A-Z]?$). |
documentType |
string |
No | Proof type (deed, lease, passport). |
documentUrls |
string[] |
No | Paths to files in Forensic Vault. |
lfpdpppAck |
boolean |
Yes | Data Privacy Law Acceptance (Required). |
Entity: LifecycleState (Enum)
The security state of a User account.
| Value | Description |
|---|---|
unverified |
Initial state. No permissions. |
identity_verified |
Documents checked, but access not granted. |
provisioned |
Full access granted. Active. |
expired |
Time-bound access ended (e.g., Lease finished). |
revoked |
Banned for violations. |
emergency |
Temporary override. |
Entity: User.lifecycle (Extension)
Object merged into the root users collection document.
| Field | Type | Required | Description |
|---|---|---|---|
state |
LifecycleState |
Yes | Current state. |
lastTransitionAt |
Timestamp |
Yes | Audit time of last change. |
transitionReason |
string |
Yes | Why the state changed (e.g. "Approved by Admin"). |
nextRecertificationAt |
Timestamp |
No | When this identity needs review (Default: +1yr). |
4. Changelog
| Date | Author | Description | Reference |
|---|---|---|---|
| 2026-01-24 | Antigravity | Initial creation | Implementation Plan |