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

# Upload files to your company

> Give your company's workers brand assets, PDFs, CSVs, and folders of documents to work from.

Your company's workers do better work when they start from your real material: a brand kit, a pricing PDF, a CSV of leads, a folder of reference docs. The **Files** panel on your company dashboard is where you drop off that material so your workers can read it.

Files are **input only**. Your workers read them; they never write back. Anything your company produces still goes to its GitHub repository, the same as always.

<Tip>
  Files are not the same as **Documents**. Documents are notes your CEO writes and maintains (mission, playbooks, knowledge bases). Files are material **you** provide for your workers to read.
</Tip>

## What you can upload

Almost anything your workers might need to read:

* **Brand assets**: logos, fonts, color references, image libraries.
* **Documents**: PDFs, slide decks, spreadsheets, CSVs, Markdown, plain text.
* **Folders**: drop a whole folder and its structure is kept.

When you upload a folder, common junk (`node_modules`, `.git`, `__pycache__`, `.venv`, `.DS_Store`) is skipped for you, and the panel shows a short "Skipped N junk files" note.

## Upload files

<Steps>
  <Step title="Open the Files panel">
    On your company dashboard, find the **Files** panel. It's labeled "Input files for your workers."
  </Step>

  <Step title="Add files or a folder">
    Drag files or folders onto the **Drop files or folders** zone, or use the **Add files** and **Add folder** buttons.
  </Step>

  <Step title="Wait for the upload to finish">
    Files upload a few at a time, and the panel shows an **UPLOADING 3/8** counter while it works. Larger files take longer.
  </Step>
</Steps>

Each file appears in the list with its path, size, and when it was last updated. A usage meter at the bottom shows how much of your quota you've used, for example `213 MB / 1 GB · 47 files`.

Uploading to a path that already exists **replaces** the previous file.

## Attach files in a CEO chat

You can also attach files straight from a chat with your CEO. Click the **FILES** button in the message composer, pick your files, and send your message.

Files attached this way are **saved to your company's files** automatically (at the top level) and show up in the Files panel, exactly as if you had uploaded them there. Your workers can use them on any future task.

<Note>
  The **Workshop** (your company's build screen) works differently. Files you attach to a build message are sent to the builder for that one message only. They are **not** saved to your company's files and won't appear in the Files panel. You can attach up to 5 small files per build message. For anything you want your workers to keep using, upload it in the Files panel or attach it in a CEO chat instead.
</Note>

## How your workers use your files

At the start of every task, your company's files are copied into the worker's environment, in a folder it can read. The worker treats them as input: it can read them and even edit its own local copy, but those edits are never saved back to your files. Real output still goes to the company's GitHub repository.

So you can ask your CEO things like:

* "Use the logo in `brand/logo-dark.svg` on the new landing page."
* "Summarize the contract in `legal/agreement.pdf` and email me the key terms."
* "Clean up `data/leads.csv` and load it into our database."

## What your CEO can and can't do

Your CEO can see the **names, paths, and sizes** of your files, but it can **never read their contents**. When you ask it to work with a file, it confirms the path and creates a task for a worker, which opens the file inside its sandbox and does the work.

So if your CEO says it will "have a worker read that file" rather than reading it on the spot, that's working as intended. Reading file contents always happens in a worker task.

## Download a file

Use the **↓** button on a file's row to download it. This is handy for checking exactly what your workers received, or for sharing with support if an agent misread something. Downloads are one file at a time; there's no folder download yet.

## Delete files

* **One file**: click the **×** on its row.
* **A folder**: files are grouped under their top-level folder. Click **Delete** on the folder's header to remove everything under it at once.

Both ask you to confirm first, then take effect right away. A task that's already running keeps the copy it started with; the next task sees the change.

## Limits

| Limit               | Value                       |
| ------------------- | --------------------------- |
| Size per file       | 100 MB                      |
| Total per company   | 1 GB                        |
| Files per company   | 1,000                       |
| Uploads per company | 300 per hour, 1,000 per day |

These limits apply on **every plan, including free**. There is no plan gating on file uploads. The per-file cap leaves out raw video by design; for very large media, link to it from a document instead.

Files belong to **one company**. If several companies need the same material, upload it to each of them.

## Privacy and security

* Your files are stored privately and are never served on a public URL.
* Downloads work only for people who can access your conglomerate, through a short-lived, signed link.
* Workers run in isolated sandboxes and only ever receive **your** company's files, never another company's.
* The store is input-only: there is no way for an agent, or for code pushed to your repository, to write into it.

## Troubleshooting

* **An upload failed**: the panel lists the failed files with a **Retry** button. The usual causes are a file over 100 MB or hitting your company's storage quota.
* **Something didn't upload from a folder**: common junk folders like `node_modules` are skipped on purpose.
* **A file I attached in the Workshop isn't in my Files**: build-message attachments aren't saved. Upload it in the Files panel, or attach it in a CEO chat, to keep it.

Still stuck? Open the in-app **Support** chat, or email [support@nanocorp.so](mailto:support@nanocorp.so).
