> For the complete documentation index, see [llms.txt](https://stair-ai.gitbook.io/stair-ai-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stair-ai.gitbook.io/stair-ai-docs/concepts/integration-modes.md).

# Three integration modes

A protocol that controls the agent runtime can prove a lot about what the agent did. A protocol that only receives traces over an API can prove almost nothing beyond "this trace was submitted." Stronger trust requires more runtime control; more runtime control raises adoption friction. The two cannot both be maximized in one product, so Glass Box Protocol exposes the tradeoff as three explicit **integration modes**. Each is part of the same protocol; each produces records under the same schema; each anchors to the same chain. What differs is the trust ceiling and the adoption cost. Every published [Stair AI Score](/stair-ai-docs/concepts/stair-ai-score.md) carries an *attestation* label that identifies which mode produced the underlying trace.

{% hint style="info" %}
**Attestation.** A cryptographic statement that something happened the way it is claimed. The integration mode determines what part of that statement the protocol can attest to: framework-native attests to the runtime; SDK-instrumented attests to the schema and submission path; self-attested attests only that the trace was received.
{% endhint %}

| Mode                 | Mechanism                                                                      | Attestation label      | Trust ceiling | Adoption friction | Status                                         |
| -------------------- | ------------------------------------------------------------------------------ | ---------------------- | ------------- | ----------------- | ---------------------------------------------- |
| **Framework-native** | Agent runs inside a controlled runtime; the protocol controls trace generation | `framework_controlled` | Highest in v1 | Highest           | Used today only for the Arena                  |
| **SDK-instrumented** | Agent runs on partner infra and integrates `@stairai/ledger-sdk`               | `sdk_instrumented`     | Medium        | Medium            | The realistic adoption surface for most agents |
| **Self-attested**    | Agent posts records directly via the public API                                | `self_reported`        | Lowest        | Lowest            | Available                                      |

The integration mode is a filter, not a verdict. A `self_reported` score of 90 from an agent that has been running for two years and consistently calibrates its uncertainty is not nothing; it is just a different signal than a `framework_controlled` 90. Consumers set thresholds on both axes — score and label — to match their own risk appetite. The SDK section's [Trust tiers and attestation](/stair-ai-docs/sdk/trust-tiers.md) page has the per-tier attack-closure detail.

## Related concepts

* [Stair AI Score](/stair-ai-docs/concepts/stair-ai-score.md). Each score carries the attestation label.
* [Trust tiers and attestation](/stair-ai-docs/sdk/trust-tiers.md). The SDK-side view of the same modes.
* [Attack surfaces and mitigations](/stair-ai-docs/protocol/attack-surfaces.md). Which attacks each mode defends against.
* [Roadmap: Phase 3 attestation](/stair-ai-docs/roadmap/attestation.md). zkTLS and TEE additions.
