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

# Overview

> Run your containers in Tinfoil's secure enclaves with our privacy guarantees

At Tinfoil, **everything that touches plaintext client data** runs inside secure enclaves. This includes all our hosted AI models and the rest of our critical security infrastructure. Tinfoil Containers makes that same infrastructure available for running your own applications, with the same privacy, transparency, and security guarantees.

Tinfoil Containers run any Docker image inside an AMD SEV or Intel TDX secure enclave. The container's memory is encrypted in hardware, isolated from the host, and invisible to Tinfoil. You and any client connecting to it can verify that fact themselves via [remote attestation](https://docs.tinfoil.sh/containers/connecting.md).

> [!TIP]
>
> GPU workloads run inside NVIDIA confidential-computing enclaves with the same attestation. [Contact us](mailto:contact@tinfoil.sh) to enable GPU access for your org.

> [!NOTE]
>
> Features that use V3 attestation are **beta**, including private secrets, encrypted persistent volumes, attested keys, attested SSH, and fresh attestation requests. See [Feature status](https://docs.tinfoil.sh/resources/feature-status.md).

## What's public, what's private

A Tinfoil Container splits into two artifacts with different visibility rules:

* The configuration (`tinfoil-config.yml`) **must live in a public repo.** Tinfoil reads it at deploy time to compute the enclave measurement, and your users' SDKs read it (via the [Sigstore transparency log](https://docs.sigstore.dev/logging/overview/)) at request time to verify the running enclave matches what you published.
* Your **source code and Docker image can stay private.** The config pins the image by SHA256 digest, and the attestation commits to that exact digest; Tinfoil doesn't need to read your code to verify it. See [Private images](https://docs.tinfoil.sh/containers/private-images.md) for registry credentials.

Anything that's *part of the measurement* must be readable; anything that's *measured by* the config doesn't have to be.

## Limitations

Tinfoil Containers have some limitations to work around when building on top of them:

* **No persistent disk by default.** Data written to the enclave's ephemeral filesystem is lost when it stops or is replaced during an update. For durable storage, declare a named volume mount, attach an [encrypted persistent volume](https://docs.tinfoil.sh/containers/encrypted-volumes.md), and confirm it is unlocked and mounted before writing; or use the [S3 sidecar tutorial](https://docs.tinfoil.sh/containers/persistent-storage.md).
* **No inbound private networking.** Your container is reachable over the public internet. You'll have to build in appropriate authentication yourself.
* **No built-in load balancing.** Each instance is one enclave. A project can contain multiple independently managed instances, but Tinfoil does not balance traffic between them.
* **No SSH access by default.** Since your container runs in a secure enclave, you can't shell into it by default. To troubleshoot, enable [debug mode](https://docs.tinfoil.sh/containers/debug-mode.md), which deploys a separate instance of your container with SSH access.

> [!WARNING]
>
> **Debug containers do not pass attestation.** Tinfoil's `SecureClient` will refuse to connect to a debug instance because debug enclaves are not confidential. Never use debug mode for production traffic or sensitive data.

## Getting started

> [card] [Quickstart](https://docs.tinfoil.sh/containers/quickstart.md)
>
> Deploy your first container.

> [card] [Example repo](https://github.com/tinfoilsh/tinfoil-containers-template)
>
> A ready-to-deploy template that ships a working hello-world container with an env var and a secret.

### Configuration

> [card] [Configuration reference](https://docs.tinfoil.sh/containers/configuration.md)
>
> The full `tinfoil-config.yml` schema for runtime, resources, and routing.

> [card] [Private images](https://docs.tinfoil.sh/containers/private-images.md)
>
> Configure registry credentials so Tinfoil can pull private images.

> [card] [Secrets & variables](https://docs.tinfoil.sh/containers/secrets-and-env-vars.md)
>
> Manage environment variables and encrypted secrets.

> [card] [Custom domains](https://docs.tinfoil.sh/containers/custom-domains.md)
>
> Use your own domain instead of the default .containers.tinfoil.dev URL.

> [card] [Model weights](https://docs.tinfoil.sh/containers/models.md)
>
> Prepare Hugging Face weights for GPU inference containers.

### Operations

> [card] [Making requests](https://docs.tinfoil.sh/containers/connecting.md)
>
> SDK and CLI examples for making attested requests.

> [card] [Projects](https://docs.tinfoil.sh/containers/projects.md)
>
> Group the instances that share one config repository.

> [card] [Instance lifecycle](https://docs.tinfoil.sh/containers/lifecycle.md)
>
> Deploy, stop, and delete instances.

> [card] [Updating](https://docs.tinfoil.sh/containers/updates.md)
>
> Blue/green updates, downtime, rollback, cancel, and recovery.

> [card] [Debug mode](https://docs.tinfoil.sh/containers/debug-mode.md)
>
> SSH into a separate debug instance for troubleshooting.

> [card] [Hold for review](https://docs.tinfoil.sh/containers/hold-for-review.md)
>
> Try a new version at its review URL, then promote it.

> [card] [Using the CLI](https://docs.tinfoil.sh/containers/cli.md)
>
> Manage projects and instances from the terminal.

### Reference

> [card] [Resource limits](https://docs.tinfoil.sh/containers/limits.md)
>
> CPU, memory, and infrastructure tier limits.

> [card] [Production checklist](https://docs.tinfoil.sh/containers/production-checklist.md)
>
> Security, reliability, and deployment best practices.

> [card] [Troubleshooting](https://docs.tinfoil.sh/containers/troubleshooting.md)
>
> Common issues and how to fix them.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.