How GovIntel Works

Verifying the connection

Connected is a measurement, not an assertion. It is reachable only by a real run that assumed your role and checked the boundary held.

Currentengine 9.0.0Verified 2026-08-30

When you press Verify Connection, GovIntel dispatches a verification workflow. That workflow assumes the role you just created, through GitHub OIDC, and checks that the access boundary is what the template says it is.

Why this exists

Before it did, the connection state was a dropdown an operator chose from. "Validated" recorded an intention, not a measurement, and nothing in the system had ever spoken to AWS.

CONNECTED now records only what was measured. There is no API field, no admin route and no override that can produce it. It is reachable by exactly one path: a verification run assumed your role and the boundary checks passed.

The connection states

StateMeaning
NOT_CONNECTEDNothing has been attempted
AUTHORIZATION_REQUIREDYou have been asked to authorize access
PROVISIONINGYou have supplied an account ID and are deploying the stack
VERIFYINGA verification run is in flight
CONNECTEDA real run assumed the role and the boundary held. The only state that permits an assessment
FAILEDVerification ran and did not pass
EXPIREDThe engagement expiry has passed. The role now denies everything
REVOKEDAccess has been withdrawn

How the state was established

Every engagement also records how its state was reached: oidc_verification for a real run, operator_assertion for a human judgement, or none.

Records predating the verification mechanism carry operator_assertion and are re-verified before an assessment can run. Promoting them silently would launder an opinion into a measurement, which is the exact failure this design exists to end.

If verification fails

You are told which check failed. The usual causes are a stack that has not finished, the identity provider checkbox answered the other way, or an engagement whose expiry has already passed. See Access states reference.