--- title: Files description: Give the tester files to inspect and upload in your application. --- # Files Open an Environment or Persona and use **Files → Upload file**. Add a description explaining what the file contains and when to use it. You can rename, replace, preview, download or delete it later. A Run receives the selected Environment's files and the selected Persona's files. Environment files are shared with every Persona running in that Environment. A shared Persona brings its own files, while files from its other Environments stay outside the Run. Identical names remain separate and show their scope. In the Test editor, select an Environment and Persona, then choose **Insert file**. A stable reference looks like this in Markdown: ```md 1. Upload [Sample invoice](smoketest-file:11111111-1111-4111-8111-111111111111). 2. Confirm the extracted total matches the invoice total. ``` You can also describe the file in natural language. Use the picker when identity matters, especially if filenames repeat. Missing or out-of-scope references can be saved but must be fixed before a Run starts. Shared Steps can contain the same file references. The tester can inspect raster images, PDFs, text, CSV and JSON. Other formats and unreadable files can still be uploaded. Uploads work with standard file inputs and buttons that open file choosers. Directory selection and widgets that only support drag-and-drop are outside this release. Each file can be **25 MiB**, with **5 GiB of current files per project**. A single browser upload interaction must total less than 50 MiB; the tester can use separate inputs/interactions where the application supports them. Replacing a file keeps its identity and creates a new version. Runs and ticket Attempts freeze their available versions; resumed work uses those versions, while new Runs and Attempts get current versions. History shows which versions were available, inspected and uploaded. Old bytes are removed once unfinished work no longer needs them. History then shows **File contents no longer available**, while recorded evidence remains. File content and an upload receipt describe the input. Smoketest still needs to observe your application's behavior to pass an assertion. See [API files](/api/files) and [CLI files](/cli/files) for automation.