Skip to content
Coming soon · October ’26

Files your agent can read — from people you don’t know.

Your users upload images, PDFs and documents. Your agent gets them ready to read, search and cite — labelled as user content, with a verdict on each file.

Files is in development. Leave your email and we’ll tell you when it launches.

The problem

Files carry text people don’t see

A PDF or Word file can hold text that is invisible on the page and fully readable to a model: white on white, microscopic fonts, text outside the page, hidden runs and comments. It already turns up in real uploads.

of résumés Greenhouse reviewed in the first half of 2025 carried a hidden prompt.
1%
The New York Times, 2025
of the résumés ManpowerGroup scans with AI contain hidden text.
~10%
The New York Times, 2025
of the hidden text found in about 197,000 real résumés gave no instruction at all, just extra keywords that instruction filters do not catch.
90%+
Measuring Real-World Prompt Injection Attacks in LLM-based Resume Screening, 2026
Prompt injection is the first entry in the OWASP Top 10 for LLM applications.
#1
OWASP, LLM01:2025

How these attacks work, one file type at a time: read the series on the blog.

In the conversation

Built for chat

Your agent can ask for a file in the middle of a conversation, wait for it, and answer from it, citing the page it used.

A support chat. A customer says the order arrived damaged. The agent requests an upload and shows an upload card, the customer sends box-photo.jpg and receipt.pdf, the agent checks the upload status and gets 2 files ready, then answers with a citation to receipt.pdf page 1. It tells the customer that part of the receipt has text that is not visible on the page, that it used only the printed text and asked a teammate to look, and that the replacement request is open.
Chat UI and citations built with Loquix components
How it works

From upload to agent in three steps

Files keeps the content readable for your agent and tells it what we found in each file.

1

A person uploads a file

Images, PDFs and text documents go into a record the person owns: a ticket, an application, a claim.

2

FoxNose turns it into content

Each file becomes page-anchored markdown. Your agent can read it, find it by meaning, and cite "page 2, this block".

3

Your agent gets it with a verdict

Content from a file arrives labelled as user content, kept apart from your instructions, with a verdict (clean, suspicious or blocked) and the reasons behind it.

For your agent

Read it, find it, cite it

Your agent gets files through the delivery API and the hosted MCP server, next to the rest of your content.

Read it

The file is plain markdown, split by page. The agent reads the text the way it reads any other content in FoxNose.

Find it by meaning

Search matches what a file says, not only the words it uses.

Cite it

Every passage keeps its place in the file, so an answer can point to "page 2, this block" and a person can check it.

An agent answer with two numbered citation markers. The first marker is open and shows a card for receipt.pdf page 1 with the quoted passage. Below the answer a source list names receipt.pdf page 1 and claim-form.docx page 3.
Each answer points to the file and page it came from
Three ways in

Take files in the way that fits

Every upload ends up in the same place: a record owned by the person who sent the file.

From your app
Send the upload from your own product with the upload API. The file lands in the record you point it at.
From a hosted upload page
Share a link and people upload there. For each link you choose which file types it accepts, and you can revoke it at any time.
From the agent itself
Your agent asks the person for a file over MCP with request_upload.
In your product

Drops into your page

Add the file uploader to any page. It comes in several looks and takes your brand colors. Or skip the code and share a hosted upload page.

A file uploader opened from an Upload files button. A dialog lists three selected files, with Clear, Add more and Upload buttons, in a dark theme with a rose accent.
Button and dialog
The file uploader dialog in a light theme: a Drop files here area and a list of sources: From device, Camera, From link, Google Drive, Google Photos and Dropbox, with a Cancel button.
Files from the device, the camera, a link, Google Drive, Google Photos or Dropbox
A compact file uploader showing two chosen files, box-photo.jpg and receipt.pdf, with a plus button to add more, in a dark theme.
Minimal drop zone
A hosted upload page on a phone. It shows the Acme name, a Choose files or take a photo area, and four files with their status: two accepted, one checking and one rejected for malware.
Hosted page: share a link, no code
On by default

Checks that run without configuration

Nothing to switch on. Every file your agent will read goes through these checks.

Malware is always blocked
Every file is checked for malware. A file with malware is blocked, and this cannot be turned off.
Explicit imagery is detected
Every image and page is checked for explicit content. Your collection's policy decides what happens, with a strict default you can switch off.
Hidden text is found and flagged
Text a person can't see on the page, such as white-on-white, microscopic fonts, or text placed outside the page, is flagged. It is not passed to the agent as if it were visible.
Limits on every upload
Limits cap how much processing a single upload can trigger.
Files are opened in isolation
Each file is opened on a disposable, isolated machine, separate from where your data lives. When the work is done, the machine is thrown away.
What your agent receives

Labelled as user content, with a verdict

Content from a file reaches your agent inside a published envelope. It tells the model where the text came from — a person’s file, not your prompt — so your agent can treat it as material to read, not as instructions. The verdict and its reasons travel with it.

  • Clean
  • Suspicious
  • Blocked

FoxNose flags and marks. You decide what your agent does with each verdict. The envelope format is published, so you know exactly what your agent is handed.

Get Files when it launches

One email when it is ready. Nothing else.

We’ll use your email only to tell you when Files launches. Privacy policy

Under the hood

Every file, step by step

Before we open it

  1. Upload

    The file goes straight to the upload service with a short-lived, single-use token. It never passes through your servers.

  2. Malware scan

    Scanned in a separate service before FoxNose opens it.

    Malware → blocked and deleted
  3. Stored

    The original is stored. A working copy is staged for processing.

Inside a disposable machine

  1. A fresh machine starts

    One machine per job. It can read only its own file and write only the results it is expected to produce.

  2. Opened and rebuilt

    Documents become clean page images and text; macros never run. Images are re-encoded and their metadata is stripped.

Thrown away when the job is done

Read, check, publish

  1. Read

    Text is read from what is visible on each page and compared with the file’s own text, which is how hidden text is found. Tables are read as tables.

  2. Checked

    Every file is checked for content meant to mislead a model, and for anything your rules flag.

    • White-on-white text
    • Microscopic fonts
    • Text outside the page or under images
    • Hidden runs, comments and tracked changes in Word files
    • Invisible Unicode characters
    • Look-alike letters
    • Instructions aimed at the model
    • Explicit imagery
    • Your moderation rules
    • …and more
  3. Verdict

    Clean, suspicious or blocked, by your collection’s policy. Suspicious files can wait for review.

    • clean
    • suspicious
    • blocked
  4. Indexed

    Split by page and embedded for search, ready before anything goes live.

  5. Published

    All at once, and only after every step passed. Your agent sees it labelled as user content, with its verdict.

A file that fails a step never reaches your agent.

Use cases

Where files come in

Anywhere a person hands your agent a document or an image.

Support screenshots

Customers attach a screenshot to a ticket. Your agent reads what is on it.

CVs and job applications

Candidates upload a CV with their application. Your agent reads it and cites the page.

Insurance claim photos

Claimants add photos and documents to a claim. Your agent works from the claim, with the files attached to it.

Invoices and receipts

People send invoices and receipts as PDFs or photos. Your agent reads the text on them.

Your rules

Shape it to your rules

Start with the defaults. Add rules of your own, or keep some files away from agents altogether.

Moderation add-on

Add-on

Write your own rules for what comes in. For each rule you choose what happens: block the file, send it for review, or just tag it.

Storage-only collections

Collection type

For files people need but agents do not. Files are scanned for malware, stored, and downloadable by people. They are never delivered through MCP.

For your team

What your team sees

Every file has a record in the dashboard. Your team can see what an agent would read, what was found, and decide what happens to a file that was held for review.

The dashboard list of a Customer documents files collection. Each row shows a file name, its status such as processing, ready or rejected, a verdict of clean, suspicious or blocked, its findings and where it came from.
Every file in a collection, with its status, verdict and findings
The dashboard page for one suspicious Word file. It shows the page as agents see it with a hidden text region removed, the content envelope the agent receives, four findings, and the processing steps.
One file: what agents see, what was found, and how it was processed
Planned

File to typed record

A CV fills a candidate. A receipt fills an amount and a date. Every extracted value points to the visible words it came from, and values that can’t be traced to the page are rejected.

Files is coming soon.

Leave your email and we’ll tell you when it launches.

We’ll use your email only to tell you when Files launches. Privacy policy