Skip to documentation
Documentation

Airlock documentation

Evaluate the opportunity. Understand the boundary. Build against the contract.

Airlock governs records, evidence, authority, and workflow inside Snowflake. The installed Native App and its stored procedures are authoritative.

Start with your question

Inspect the verified demonstration: missing evidence rejected, self-approval denied, and a separate authorized decision recorded.

Three roles. Three procedure families.

Application role Primary family Job
app_admin airlock.admin.* May call all families. Uses admin.* to change specs, roles, assignments, references, licensing, retention, and setup.
app_agent airlock.agent.* Discover allowed specs, validate and submit work, attach evidence, and participate in workflow.
app_observer airlock.observe.* Inspect assigned governance metadata without changing governed state or consuming a named seat. Account-wide audit requires the reserved, read-only global_observer role.

Snowflake application roles are the coarse gate. Airlock assignments and per-spec policies determine scope. Agent and Streamlit work is seat-gated; observe-only procedure calls are not. Consult the exact contract for administration and billing behavior.

Every mutating human or automated agent remains an attributable Snowflake principal. Workspace roles and chat approval are collaboration context, not Airlock authority; explicit Airlock delegation represents work for another principal.

The governed loop

  1. Discover before acting

    Use AGENT.LIST_MY_ROLES, AGENT.LIST_MY_SPECS, and AGENT.DESCRIBE_SPEC. Build only the business payload the spec allows.

  2. Validate, then submit

    Use AGENT.VALIDATE_DATA before AGENT.LOAD_DATA. Keep path, delegation, evidence, and workflow actions explicit.

  3. Observe the result

    Use OBSERVE.EXPLAIN_ACCESS, OBSERVE.WORK, OBSERVE.ACTIVITY, and OBSERVE.HEALTH to inspect the boundary without changing it.

Implementation references

The authority boundary

The Native App owns governance state and the installed contract. Airlock MCP is a local workbench, not a live Snowflake connector. External systems remain responsible for their own actions.

Before live work, confirm the installed app object name and retrieve its bundled contract. Public examples use airlock as a placeholder. Do not write around Airlock-owned tables, stages, workflow state, or audit history.

CALL <APP_NAME>.AGENT.DOCUMENTATION(CONTENT_MODE => 'PROCEDURES');

Machine-readable entry points

Specialized guides and public source