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
Version History
| Version |
Date |
Author |
Change |
| 0.1.0 |
2026-01-26 |
Antigravity |
Initial Audit & Metadata Injection |