> ## 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.

# Chat features

> Document uploads, projects, encrypted search, and importing conversations from other AI apps — all end-to-end encrypted.

Tinfoil Chat supports document-heavy workflows: upload files into conversations, organize related work into projects with shared instructions and documents, and search across your encrypted history. All of it is protected by [cloud sync encryption](/chat/cloud-sync).

## Document uploads

Attach files to any conversation using the attachment button in the message composer: the paperclip (**Add files or photos**) on web, or **+** (**Add to chat**) on iOS.

**Supported files** include PDFs, Office documents (docx, pptx, xlsx), CSVs, images, audio, and a wide range of plain-text and code files.

**How files are processed.** Processing never exposes your documents to Tinfoil:

* Plain text and code files are read directly on your device.
* PDFs and Office documents are converted to text by a dedicated document-conversion model running inside a secure enclave, verified through attestation like every other model. On iOS, PDFs and text formats are extracted on-device.
* Images are sent to vision-capable models; audio is transcribed by the speech model — both inside attested enclaves.

**How files are stored.** Document text becomes part of the conversation and is encrypted and synced with the chat. Images are stored as separate encrypted attachments: each gets its own AES-256 key, and that key is stored inside the encrypted chat record — so attachments are only readable with your personal encryption key.

## Projects

Projects group related chats and give them shared context, so you don't have to re-upload or re-explain the same material in every conversation. Projects require cloud sync.

**What a project contains:**

* **Instructions** — how the assistant should behave in this project. Injected into every chat in the project.
* **Documents** — reference files available to every chat in the project.
* **Chats** — conversations that belong to the project.

Every chat in a project automatically receives the project's instructions and the full text of its documents. Individual chat histories are not currently shared between conversations in a project.

<Note>
  Shared memory across chats in a project — where the assistant remembers
  facts from previous conversations — is coming soon.
</Note>

Like everything else, project instructions, documents, and chats are encrypted under your key and unreadable to Tinfoil.

<Tabs>
  <Tab title="Web app">
    1. In the sidebar, open the **Projects** section and click **New Project**.
    2. Give it a name, and optionally a description and instructions.
    3. Add reference files in the project's documents area.
    4. Start chats from the project page, or drag existing chats into the project from the sidebar.
  </Tab>

  <Tab title="iOS app">
    1. Open the sidebar and tap **Projects → New project**.
    2. On the project page, use **Details** to set the description and instructions, and **Documents → Add document** to attach reference files.
    3. Tap **New project chat** to start a conversation with the project context, or move existing chats in via each chat's context menu (**Move to** the project).
  </Tab>
</Tabs>

## Encrypted chat search

Search in the sidebar works across the full content of your synced chats, not just titles. The search index lives inside the sync enclave, sealed under a key derived from your encryption key — so full-text search works without Tinfoil being able to read your chats or the index. Local-only chats are not indexed.

## Personalization and custom prompts

In **Settings → Personalization** you can set a nickname, profession, traits, and additional context the assistant should know. **Settings → Prompts** manages custom system prompts and your prompt library.

All of these sync across devices and are encrypted under your key, like chats. Tinfoil cannot see your name, traits, or prompts.

## Importing from other apps

You can import your conversation history from ChatGPT and Claude, or restore a previous Tinfoil export, from **Settings → Cloud Sync** in the web app:

* **Import from ChatGPT** — upload your ChatGPT data export.
* **Import from Claude** — import conversations, and (on paid plans) projects.
* **Import from Tinfoil** — restore a Tinfoil export archive.

Large archives are processed by the sync enclave: each imported chat is encrypted under your key before storage, and you receive an email when the import completes.

## Sharing a chat

You can share a read-only copy of a conversation via link. The shared copy is encrypted under a random key that is embedded in the link itself (in the URL fragment, which is never sent to servers) — so only people you give the link to can read it. Temporary chats cannot be shared.

## Voice and models

Tinfoil Chat includes voice input (private speech-to-text) and lets you switch between the models in the [chat model catalog](/models/chat). Model responses stream from attested enclaves; the in-app [Verification Center](/guides/verification-center) shows live attestation status.
