Attach files as cited evidence
Attach files as cited evidence
Holaryn can turn a file into structured, searchable evidence without pasting the whole file into a
model prompt. Each excerpt keeps an immutable version and a precise locator such as a PDF page,
slide, speaker-note section, worksheet/cell range, heading, line range, image region, or archive
path.
Add and review a file
In Chat, select the paperclip:
- Upload file… adds one or more files.
- Upload folder… adds every selected file as a separate, independently reported item.
- Add a file URL… fetches one public HTTP(S) file through the host's protected URL fetcher.
The attachment chip shows its ingestion state. Select the chip to open Source evidence. The
review has:
- current format, version, progress, extraction report, and actionable notices;
- search over bounded extracted blocks;
- checkboxes that include or exclude exact evidence blocks from the next message;
- stable locator links and the original authorized download;
- OCR language and a rebuild action;
- cancellation for active jobs; and
- a one-time password field when a PDF, Office file, or ZIP is encrypted.
Passwords are sent only to that retry worker and are never stored. Removing the chip before send
deletes the original and all derived blocks. After a message is sent, its attachment workspace is
kept so citations in the conversation remain resolvable; delete it explicitly when it is no longer
needed.
Supported structures
| File | Preserved evidence |
|---|---|
| Text, source, Markdown | headings, sections, line ranges |
| text or OCR by page, links, embedded-file inventory | |
| DOCX | headings, paragraphs, tables, comments, media/embedded inventory |
| XLSX and CSV | sheets, row groups, cell ranges, formulas as text, hidden-sheet warning |
| PPTX | slide text, tables, speaker notes, media/embedded inventory |
| PNG, JPEG, GIF, TIFF, BMP, WebP | OCR text; private image metadata stays out of model context |
| Jupyter notebook | Markdown/code cells and saved text outputs; cells are never run |
| JSON, YAML, XML | structured sections; executable YAML tags and XML entities are refused |
| ZIP | safe inventory and supported text-like members with archive-path citations |
Legacy binary Office formats and unknown binaries are not decoded as replacement-text blobs.
Export them to a supported format. A corrupt, encrypted, unsupported, cancelled, timed-out, or
unsafe file keeps an explicit per-file state and recovery action.
How evidence enters a turn
The message text becomes the default search query. Holaryn injects only the highest-ranked blocks
that fit the per-source context budget and reports the number and characters omitted. If you use
the review checkboxes, only those immutable block IDs are eligible.
Every block is labeled:
[quarterly.xlsx — sheet Metrics, cells A1:B20]
Locator: sheet Metrics, cells A1:B20
...
Extracted content is always untrusted data. If it resembles instructions to ignore policy, reveal
secrets, or invoke tools, the review and model context show a prompt-injection warning. A warning
does not grant the text authority.
Recovery and troubleshooting
- Queued/running for too long: open the review, inspect progress, cancel, then select
Rebuild extraction. A queued/running job resumes when the host restarts or the attachment is
next opened. - Password required: enter the file password in the review and rebuild. A wrong password leaves
the same recoverable state. - OCR is wrong: choose another supported OCR language identifier and rebuild.
- Partial: the report states exactly what resource or output budget omitted. Search for a more
specific phrase to retrieve a smaller set. - Unsafe/corrupt: sanitize or export the source again, then replace the attachment.
- Operator rollback: set
HOLARYN_FORMAT_AWARE_ATTACHMENTS=offand restart Holaryn. New parsing and
rebuilds stop; already completed, authorized evidence remains readable. Remove the variable (or
set it to1) and restart to resume.
The source limit is 5 MiB in this release. The worker also enforces page, slide, sheet, cell, pixel,
archive-entry, decompression, extracted-character, result-size, and time limits. See
Security and privacy for the broader trust model.