StakeholderStakeholder
retention: reference
A person with one or more RACI roles across objects in this tenant. Stakeholder nodes are referenced from every RACI assignment. The idp_subject field bridges the in-graph Stakeholder identity to the SSO/Access identity once federation is wired.
RACI requirements
decision_maker- n/a
approver- n/a
reviewer- n/a
contributor- n/a
informed- n/a
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://gcc.bootminds.com/ontology/node-types/stakeholder.json",
"title": "Stakeholder",
"description": "A person with one or more RACI roles across objects in this tenant. Stakeholder nodes are referenced from every RACI assignment. The idp_subject field bridges the in-graph Stakeholder identity to the SSO/Access identity once federation is wired.",
"type": "object",
"x-node-type": "Stakeholder",
"x-lifecycle-state-machine": null,
"x-raci-requirements": {
"decision_maker": "n/a",
"approver": "n/a",
"reviewer": "n/a",
"contributor": "n/a",
"informed": "n/a"
},
"x-retention-class": "reference",
"required": [
"node_id",
"node_type",
"tenant_id",
"attributes",
"state",
"created_at",
"created_by"
],
"properties": {
"node_id": {
"type": "string",
"format": "uuid"
},
"node_type": {
"const": "Stakeholder"
},
"tenant_id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"active",
"invited",
"inactive"
],
"description": "Stakeholder operational state. 'invited' indicates a magic-link invite is outstanding; 'inactive' covers offboarded or paused stakeholders. No formal lifecycle state machine."
},
"attributes": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"email",
"organization_kind",
"role_in_engagement"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Display name."
},
"email": {
"type": "string",
"format": "email",
"description": "Email address. Used for invite delivery and as a fallback identity key prior to IdP federation."
},
"organization_kind": {
"type": "string",
"enum": [
"BootmindsStaff",
"ClientAdmin",
"ClientStakeholder",
"ClientExecutive"
],
"description": "Canonical user-type taxonomy from 1A.2.1."
},
"role_in_engagement": {
"type": "string",
"minLength": 1,
"description": "Free-text role description scoped to this engagement (e.g., 'CIO, Alghiaz', 'GCC Programme Lead', 'AP Lead'). Distinct from the per-object RACI role; this is the human-readable engagement role."
},
"idp_subject": {
"type": [
"string",
"null"
],
"description": "Identity provider subject claim (e.g., SAML NameID, OIDC sub). Null until the stakeholder authenticates through Access; set on first successful SSO."
},
"legal_entity_id_ref": {
"type": [
"string",
"null"
],
"format": "uuid",
"description": "Optional reference to the LegalEntity this stakeholder is primarily affiliated with."
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"format": "uuid"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}