Voicebox documentation

Receipt: does a File System Access handle walk follow a symlink out of a picked folder?

Status: OPEN — this has not been run. It cannot be run headlessly: showDirectoryPicker() requires a real user gesture, and a synthetic click is not one. So it is an experiment a person runs once, and index.html beside this file is the instrument.

Why it matters

The browser placement’s strongest security property is not that containment is enforced but that an escape cannot be expressed: handles are relative, .. does not resolve, and OPFS has no symlinks — so §3.2a’s containment row is structural rather than implemented. That property belongs to OPFS, not to browsers. A directory the user picked is a real folder, a real folder can contain a symlink, and the guarantee is simply not there. Until this is run, the picked-handle shape is designed rather than proven.

Method

index.html (read-only: it writes nothing, sends nothing, makes no network calls) over http://127.0.0.1. The fixture is a folder containing inside/real.txt and outside-link -> /etc.

What each outcome means — and what it does NOT

Scope, because a reviewer was right that the first version of this conclusion was broader than the experiment. The instrument measures, on one browser and one folder: a directory symlink read, a file symlink read, and (opt-in) a write through the link. A negative result on those probes does not establish containment, and does not cover other handle operations. Every probe reports its own verdict, and INCONCLUSIVE is one of them.

Result

(empty — fill this in when it is run, including the browser and version.