3.4 KiB
3.4 KiB
Governance Install Specification (First Paid License)
This spec defines deterministic installation of the governance runtime after membership and governance entitlement purchase.
Preconditions
- Launcher is installed and wallet is initialized locally.
- Membership is active for ownership wallet.
- Governance entitlement is active for ownership wallet.
- Workspace target boundary matches active suite entitlement
org_root_id. - Availability state for acting principal is not
PARKED. - Acting principal role for install/update control is
ORG_ROOT_OWNER.
Install Flow
- Launcher requests governance install token from backend.
- Backend verifies membership, governance entitlement, org boundary, and availability state.
- Backend returns signed install bundle metadata:
- package url
- package hash
- signer key id
- policy hash
- expiry
- Launcher downloads package.
- Launcher verifies package hash.
- Launcher verifies package signature against trusted signer set.
- Launcher writes immutable install receipt locally.
- Launcher hands off to governance runtime bootstrap.
- Governance runtime re-verifies entitlement receipt and policy hash.
- Runtime activation state transitions to
ACTIVE.
Provisioning Profiles
The install flow supports multiple interaction profiles on the same governed path:
quick(recommended): sequential connector/auth setup with minimal operator overhead.manual: explicit step-by-step setup for each integration.advanced_edut_bootstrap: owner-only fast provisioning for managed devices.
Profile rules:
advanced_edut_bootstrapis only available toORG_ROOT_OWNER.workspace_memberprincipals must never see or invoke advanced install controls.- Advanced profile may streamline permission/setup orchestration, but cannot skip:
- package hash/signature verification
- entitlement validation
- boundary checks
- provider/connector OAuth consent boundaries
- All profile selections and resulting scope grants must be evidence-logged.
Activation State Machine
NOT_INSTALLED -> DOWNLOADED -> VERIFIED -> BOOTSTRAPPED -> ACTIVE
Failure states:
VERIFY_FAILEDRECEIPT_INVALIDENTITLEMENT_INACTIVEPOLICY_MISMATCH
Deterministic Rules
- Any missing signature/hash mismatch blocks install.
- Any inactive/unknown entitlement blocks activation.
- Any policy hash mismatch blocks activation.
- Activation requires both launcher and runtime verification passes.
- Reinstall with same package hash must be idempotent.
- Boundary mismatch or
PARKEDavailability state blocks install token issuance. - Non-owner principal role blocks install/update control paths.
- Any attempt to invoke
advanced_edut_bootstrapas non-owner is rejected and audit-logged. - Advanced bootstrap cannot be used to widen workspace boundary or entitlement scope.
Ownership vs Payment Wallet
- Entitlement ownership wallet controls activation rights.
- Payment wallet may differ from ownership wallet.
- Activation checks only ownership wallet + entitlement state.
Evidence Requirements
Each successful install must persist evidence containing:
- ownership wallet
- entitlement id
- package hash
- signer key id
- policy hash
- activation timestamp
- launcher version
- runtime version
Non-Goals
- Running governance runtime before entitlement verification.
- Trusting unsigned packages.
- Allowing active runtime on revoked entitlement.