---
title: "File Manager & Attachments"
space: "Frappe Framework"
url: "https://www.prilk.com/docs/frappe-framework/file-manager"
updated: "2026-05-14"
---

## File Manager & Attachments

Every Frappe document can have files attached. The File Manager is the underlying system.

### Attaching to a document
On any document form: drag a file onto the page, or click the **attach** icon. The file is saved as a **File** record and linked via `attached_to_doctype` + `attached_to_name`.

### Public vs Private

| Privacy | Accessed via | Permission check |
|---|---|---|
| **Public** | `/files/<filename>` | None — anyone with URL |
| **Private** | `/private/files/<filename>` | Yes — Frappe permission check on parent doc |

Default is per-field on the DocType. Sensitive attachments (signed PDFs, payslips, contracts) should always be Private.

### Storage backends

| Backend | Where files live |
|---|---|
| **Local filesystem** (default) | `sites/<site>/public/files/` and `private/files/` |
| **S3-compatible** | Configure **S3 File Storage** with bucket + access keys |

Migration: existing files stay where they are; new files write to the new backend.

### File Manager view
**Home → File Manager** is a Dropbox-like browser of all files. Folders, search, image preview. System Manager sees everything; regular users see files via the permission of the parent doc.

### Lifecycle hooks
On insert/delete, Frappe runs `file` hooks — apps can subscribe for virus scanning, image resizing, OCR, EXIF stripping. Useful when integrating with antivirus or compliance tooling.

### Limits

| Setting | Default |
|---|---|
| Max file size | 25 MB (configurable via **System Settings → Max File Size**) |
| Total disk usage | Visible in System Settings |
| File types | All allowed by default; restrict via **System Settings → Allow / Restrict File Types** |

Storage on Frappe Cloud and Prilk-managed plans is metered — check your plan.
