Using Local Files

Unlike a native desktop application, Paintapp runs inside a web browser and cannot read files from your hard drive without your explicit permission. This is a deliberate security boundary built into all modern browsers — no website can silently access your files. Instead, you grant access folder-by-folder through a permission prompt, and Paintapp works within those boundaries.

Browser support

Browser support for the File System Access API
Chrome Chrome Edge Edge Firefox Firefox Safari Safari
✔ 86+ ✔ 86+ ✘ No ~ 15.2+ (partial)

Firefox does not support the File System Access API. Paintapp falls back to a legacy file-picker approach in Firefox — files can be opened but folder-based browsing and persistent permissions are not available. Safari has partial support from version 15.2 but restricts write access and some picker APIs.

Granting access to a folder

Open the File Browser (Window → Browse Local Files), right-click anywhere in the folder tree and choose Add to Local Root Folders…. The browser will show its native folder-picker dialog. Select any folder on your machine — Paintapp will be able to read and write all files inside it, including subdirectories. The Open and Save dialogs offer the same thing as an Add Local Folder… button.

The folders you have granted appear as roots in the File Browser's folder tree alongside the browser-local storage and any connected cloud services. You can add as many root folders as you need.

Settings that remember a folder — such as the Quick Export destination — record it as a location, a short line of text naming which storage it is in followed by the path inside it, for example local:TestFiles/quickexport. See File & Folder Locations for the format, the Select button and how files are addressed when opened in a browser tab.

Removing a granted folder

Right-click a folder under Local Root Folders and choose Remove from Local Root Folders. This only revokes Paintapp's access to it: the folder and every file in it stay exactly where they are on your disk. Paintapp simply stops listing it, stops resolving paths through it, and stops watching it for changes.

To get it back, grant it again with Add to Local Root Folders… — a new permission prompt, since the browser only hands out access through the folder picker.

Deleting a root folder is deliberately not offered. Delete, Rename and Move To would act on the real folder on your disk, so on a root they are replaced by Remove from Local Root Folders. Inside a granted folder they work normally — it is only the granted folder itself that is protected. To delete such a folder for real, use your operating system's file manager.

How paths are resolved

Some file formats — PSD smart objects, linked assets, font references — store absolute paths to files on disk, for example:

D:\projects\artwork\textures\wood.png

When Paintapp encounters a path like this it tries to resolve it against every root folder you have granted access to, walking up the path until it finds a match. So if you have granted access to D:\projects\artwork, the file textures\wood.png inside it will be found automatically. If you have only granted access to D:\projects\artwork\textures, that works too — Paintapp resolves the deepest match it can find.

If no granted folder covers the path the linked file will appear as missing. Adding a root folder that contains it is enough to resolve it without reopening the document.

Files shown in red

A file or folder entry in the File Browser is tinted red when Paintapp no longer has permission to access it. This usually means the browser revoked the permission (see below). Click the entry to trigger a new permission prompt, or use Add to Local Root Folders… to re-grant the parent folder.

When permissions are revoked

Browser security policy controls how long a granted permission lasts, and the rules vary between browsers and platforms:

Installing Paintapp as a PWA (use Install app in your browser's address bar menu) gives it a more stable permission lifetime, closer to a native application.

Why Recent Files can ask again

You may see a browser prompt again when reopening a file from File → Recent Files, even if that same file was opened in a previous session. This is expected behavior with the File System Access API.

The recent entry stores a file handle reference, but the browser still controls whether that handle currently has read/write permission. After a restart, inactivity period, browser update, profile policy change, or permission reset, the browser can require explicit confirmation again.

If the prompt says the site wants to "view and copy" a file, click Allow to reopen it. If you click Don't Allow, Paintapp keeps the recent entry but cannot read the file contents until permission is granted.

Tips