> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redpill.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Open Source

> Review the open-source gateway and bind an approved deployment to its measured compose hash.

The gateway and verifier are open source. Verification separates source labels from the hardware-bound
measurement used to accept a release.

## Source labels and release identity

Every attestation report includes `attestation.source_provenance`:

```json theme={null}
{
  "repo_url": "https://github.com/Dstack-TEE/private-ai-gateway.git",
  "repo_commit": "9d45c7e3d48d2f74c31cd85f1fb5c6cee1435ef3",
  "image_digest": null,
  "image_provenance": null
}
```

These fields identify the source claimed by the workload. They are useful for finding code to review,
but are not cryptographic proof that the workload was built from that commit.

The verifier instead checks that `sha256(app_compose)` matches the compose hash measured into RTMR3.
After reviewing a release, publish that hash through an authenticated channel and require it through
`acceptedComposeHashes`. A match then proves that the approved measured compose is running in the
attested workload.

## Repositories

<CardGroup cols={2}>
  <Card title="private-ai-gateway" icon="server" href="https://github.com/Dstack-TEE/private-ai-gateway">
    The Attested Confidential Inference gateway: the API surface, attestation reports,
    receipts, and provider verification.
  </Card>

  <Card title="dstack" icon="cube" href="https://github.com/Dstack-TEE/dstack">
    The dstack TEE runtime and KMS the gateway uses for workload identity and quotes.
  </Card>

  <Card title="RedPill on GitHub" icon="github" href="https://github.com/redpill-ai">
    The organization, clients, and tooling.
  </Card>
</CardGroup>

## What you can check from source

* **Attestation handling.** How the gateway builds the report, binds the nonce and keyset into the
  quote, and endorses its signing keys.
* **Provider verification.** How each confidential provider is verified and which
  [channel binding](/confidential-ai/channel-binding) is enforced before forwarding.
* **Receipts.** How the [transparency event log](/confidential-ai/receipts) is built and signed, and
  that bodies are hashed, not stored.
* **Fail-closed forwarding.** That a required upstream which cannot be verified or bound is rejected.

## Reporting a vulnerability

Report security issues privately to [support@redpill.ai](mailto:support@redpill.ai) rather than in a
public issue. Include reproduction steps.

## Next

<CardGroup cols={2}>
  <Card title="Attestation report" icon="microchip" href="/confidential-ai/attestation-report" />

  <Card title="Verify a response" icon="circle-check" href="/guides/verify-a-response" />
</CardGroup>
