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

# Uploading files

> How uploads work in Mauvely Cloud, size limits, what happens to file names and thumbnails, and how quota is enforced.

## Uploading

Drag files onto the file list, or use the upload button. Uploads happen in your browser and you can
watch each one progress.

<Warning>
  **Do not close the tab mid-upload.** Encryption happens in the page, so closing it stops the
  upload. An interrupted upload leaves nothing usable behind, and the partial data is cleaned up
  rather than charged to your quota.
</Warning>

## Limits

| Limit             | Value                                       |
| ----------------- | ------------------------------------------- |
| Maximum file size | **5 GB**                                    |
| Total storage     | Your plan — 2 GB Free, 200 GB Pro, 1 TB Max |

Files are encrypted and uploaded in **4 MiB chunks**, so a large file does not have to be held in
memory all at once.

## What gets encrypted

Everything that describes your file, not just its bytes:

| Encrypted before upload | Also encrypted |
| ----------------------- | -------------- |
| File contents           | The file name  |
|                         | Its MIME type  |
|                         | Its thumbnail  |
|                         | Folder names   |

The server never learns any of them.

<Note>
  Because names are encrypted, the server cannot sort or search by them. Cloud fetches your list
  and sorts and searches it in your browser after decrypting. This is why a very large folder takes
  a moment to settle.
</Note>

The size of each file **is** visible to the server — encrypted data is roughly the same length as
the original, and quota has to be counted somehow. See [what the server can see](/cloud/security#what-the-server-can-still-see).

## Thumbnails

For images, Cloud generates a small preview in your browser, encrypts it, and stores it alongside
the file. Grid view decrypts thumbnails as you scroll.

Thumbnails are generated locally, so the server never receives an unencrypted version of any
image — including the small one.

## Quota

Your usage counts the encrypted bytes, which is what is actually stored. Authentication data adds
about 0.0004% over the original size, which is close enough that the interface shows one number.

If an upload would exceed your allowance it is refused before anything is transferred, rather than
part-way through. Two uploads running at once cannot both slip past the limit.

Version history counts against your quota as well, and the storage panel breaks out how much of
your usage is history — see [Version history](/cloud/version-history).

## Duplicate names

Two files cannot have the same name in the same folder, and Cloud enforces that without ever
learning either name: your browser computes an opaque value from the name and the folder's key,
and the server only ever compares those values for equality.

Because the value is keyed on the **parent folder**, the same filename in two different folders
produces two unrelated values — nothing leaks across folders either.

## Downloading

Select a file and download it. Chunks are fetched, verified and decrypted in your browser, then
assembled into the file you get.

Each chunk is bound to its position in the file, so a truncated, reordered, or substituted download
fails cleanly rather than producing a corrupted file that looks fine.

## Previewing without downloading

| Type            | Preview              |
| --------------- | -------------------- |
| Images          | ✅ Inline             |
| Video           | ✅ Inline             |
| Audio           | ✅ Inline             |
| Text            | ✅ Inline, up to 2 MB |
| PDF             | ❌ Download instead   |
| Everything else | ❌ Download instead   |

Files above 150 MB are not previewed inline regardless of type.

<Note>
  **PDFs are deliberately not previewed.** Rendering one would mean handing a decrypted document to
  a viewer running on the page that is holding your keys. Until that can be isolated properly,
  Cloud offers a download instead.
</Note>

## Uploading from Compose or Snap

Not yet. Automatic syncing from the desktop apps is designed but not built, so uploading a `.course`
file or a capture is something you do yourself through the browser today.
