Skip to main content
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 cloud history. See cloud sync encryption for storage details.

Document uploads

Attach files from the message composer. On web, select + → Add files or photos. On iOS, tap + to open Add to Chat, then choose Camera, Photos, or Files. Camera, Photos, and image selection through Files are available only for vision-capable models. Supported files. Web supports PDFs, Office documents (docx, pptx, xlsx), CSVs, images, audio, and many plain-text and code formats. iOS Files supports multiple document selections for chats and projects, plus multiple images in multimodal chats. Voice input is separate from file attachments. How files are processed. Processing never exposes your documents to Tinfoil:
  • Web reads plain text and code files in the browser. It processes PDFs and Office documents with an attested document-conversion service, and sends images to vision-capable models. Web audio attachments are transcribed by the speech model.
  • iOS extracts PDFs and supported text formats on-device. Other supported documents use the attested document-conversion service.
  • Voice input uses private speech-to-text and requires Premium on both platforms.
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 and Premium on both platforms. 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.
Each project chat receives the project’s instructions and documents, while conversation histories remain separate. Like everything else, project instructions, documents, and chats are encrypted under your key and unreadable to Tinfoil.
  1. In the sidebar, open Projects and click New Project. The app creates My Project #N and opens it.
  2. Edit the project name, description, and instructions from the project page.
  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.
Moving a local-only chat into a project converts it to a cloud chat because projects are cloud-synced. Search in the sidebar combines exact keyword matches with semantic similarity across synced chats. The index lives inside the sync enclave and is sealed under a key derived from your encryption key. Local-only chats are not indexed. Index coverage is bounded for very long chats, so content near the end may not appear. If semantic embedding is unavailable, search falls back to keyword results.

Personalization and custom prompts

On web, use Settings → Personalization and Settings → Prompts. On iOS, use Settings → Chat Settings → Personalization and Settings → Chat Settings → Prompts. See Chat settings for platform-specific setup, prompt precedence, and reasoning controls. 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 conversation history from ChatGPT and Claude, or re-import a 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.
With cloud sync enabled and your key unlocked, ChatGPT and Claude conversation imports run in the sync enclave, which attempts to email you when the import completes. Tinfoil imports for Premium users can also run there. For free users, Tinfoil archives are processed locally and project chats are skipped. Local imports do not send email. Claude project imports also run in the browser.

Sharing a chat

You can share a read-only snapshot via link. Its random key is placed in the URL fragment, which browsers do not send when fetching the page. On both platforms, the attested sync enclave seals the snapshot and decrypts it for recipients; storage receives ciphertext and operational metadata. Anyone with the full link can read the snapshot. On web, save a temporary chat before sharing it. On iOS, sharing a temporary chat is allowed and creates a persistent encrypted snapshot; the temporary chat history itself remains unsaved.

Voice and models

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