DOWNLOAD_FORM names come from the server. safeDownloadName keeps the last path segment only (either separator), strips control characters and refuses empty, . and ..; qqq process run writes with flag wx and takes name-1.ext, name-2.ext when the name is taken. Tested with traversal names. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>