LydianAI Open-source tooling

← All docs

Assurance-as-Code

Authorization and roles

The four roles in Assurance-as-Code and the per-operation authorization matrix.


Authorization and roles

Assurance-as-Code enforces authorization on every state-changing operation. The authorization model separates authoring, review, approval, and release across four distinct roles, so that no single person can drive an artefact from draft to released baseline without independent checks.

Every role-sensitive write operation is logged as an immutable audit event, recording the actor, the role they held at the time of action, the operation, and a correlation identifier.


The four roles

RoleScopeDescription
adminGlobalFull configuration access. Creates users, assigns global and project roles, configures repository connectors, and can delete or archive projects
project_leadProjectManages team access. Creates and approves baselines. Approves tailoring decisions
quality_engineerProjectReleases artefacts and baselines. Triggers release-gate evaluation. Updates released-artefact revisions
userProjectStandard operational access. Creates and edits draft artefacts, runs imports, validation, traceability, and impact analysis

Roles are not hierarchical. Project Lead and Quality Engineer have distinct, controlled responsibilities. Admin has global privileges and does not require project membership to perform project-scoped operations.

Effective project role is the union of the user’s global role and their explicit membership on that project. Membership on other projects is not carried across.


Return codes

The API uses standard HTTP codes to distinguish authorization from state failures:

CodeMeaning
401Not authenticated — no valid token
403Authenticated but role is insufficient for this operation
409Operation preconditions not met (e.g. state transition invalid)
423Project is temporarily locked (baseline creation in progress)

Artefact operations

OperationRequired role
Create artefactUser, Project Lead, Quality Engineer, or Admin
Update draft/reviewed artefactUser, Project Lead, Quality Engineer, or Admin
Update released artefactQuality Engineer or Admin (triggers impact analysis + suspect propagation)
Submit for reviewUser (own artefact), Quality Engineer, or Admin
Mark reviewedQuality Engineer, Project Lead, or Admin
ApproveProject Lead or Admin
ReleaseQuality Engineer or Admin
Obsolete (soft delete)Admin

Relationship operations

OperationRequired role
Create relationshipUser, Project Lead, Quality Engineer, or Admin
Update relationshipUser, Project Lead, Quality Engineer, or Admin
Delete relationshipAdmin

Baseline and release-gate operations

OperationRequired role
Request baseline creationProject Lead or Admin
Cancel baseline creationProject Lead or Admin
Trigger release-gate evaluationAny project role
Approve baselineProject Lead or Admin
Release baselineQuality Engineer or Admin
Obsolete baselineAdmin
Publish approval to GitHubProject Lead, Quality Engineer, or Admin

Validation, tailoring, and configuration

OperationRequired role
Trigger validation runAny project role
Suppress validation issueAdmin
Reopen suppressed issueAdmin
Create/update tailoring decisionProject Lead or Admin
Revoke tailoring decisionAdmin
Configure project profileAdmin
Tailor ASPICE process scope / capabilityAdmin (requires rationale + evidence)

Cross-cutting rules