Actor attribution lets you record the responsible party — a human reviewer, an automated system, or a service account — alongside the decision context. The actor identity is cryptographically bound to the receipt, so auditors can verify both what was decided and who decided it from the same proof.Documentation Index
Fetch the complete documentation index at: https://docs.meshqu.com/llms.txt
Use this file to discover all available pages before exploring further.
When to use
Use actor attribution whenever your audit trail must identify a responsible party:- Human workflows — analyst reviews, MLRO sign-offs, compliance approvals.
- Automated pipelines — name the service or model version that triggered the evaluation.
- Multi-step chains — attribute each step to a different actor (see Multi-actor chains).
Schema reference
| Field | Type | Required | Description |
|---|---|---|---|
actor.id | string | Yes (if actor present) | Stable, unique identifier. Included in the integrity hash. |
actor.type | string | No | human or automated. |
actor.role | string | No | Functional role: analyst, compliance_officer, screening_service, etc. |
actor.authority | string | No | Authority or organisation the actor acts under (e.g. MLRO). |
actor.display_name | string | No | Human-readable name for audit display. |
actor object at the top level of a POST /v1/decisions/record request body:
Trust model
The authenticated API key identifies the calling system. Theactor field identifies the responsible party within that system. Both are captured on every recorded decision.
What is cryptographically bound:
| Field | In integrity hash | Tamper-evident |
|---|---|---|
actor.id | Yes | Yes — hash mismatch if altered |
actor.type | No | No — display annotation only |
actor.role | No | No — display annotation only |
actor.authority | No | No — display annotation only |
actor.display_name | No | No — display annotation only |
actor.id is included in the SHA-256 integrity hash. If someone alters actor.id after the fact, receipt verification will fail. The other fields are stored as audit-display metadata.
Patterns
Automated system
id. This lets you filter audit trails by the specific service that acted.
Human reviewer
actor.id. Email addresses can change; IdP UUIDs are stable.
Service account
MLRO final sign-off
PII considerations
display_name is a convenience field for audit display. Avoid storing full names, email addresses, or other PII in actor.id — use a stable, opaque identifier from your identity provider instead. Keep the mapping from ID to personal details in your own system.
Backward compatibility
Actor attribution is fully backward compatible:- If
actoris omitted, the decision is recorded without actor attribution. Existing integrations are unaffected. - If
actoris omitted butcontext.metadata.actor_idis present, the API falls back to using that value for attribution. - When
actor.idis supplied, it takes precedence overcontext.metadata.actor_id.
TypeScript SDK
Pass actor as the third argument toclient.record():