FolioDocument viewer

A viewer that only shows what the server says you can see.

Folio embeds in your web application through an iframe and renders PDFs and TIFFs of 600 MB and more. Permissions, redactions, downloads and printing are all decided on the server. Hints from the host page are never trusted.

The usual choice is licensing a desktop-era SDK or spending months building a viewer yourself. Folio is the third option.

The host asks for download rights and the server ignores the hint. Pages stream in, and a redaction is drawn, burned and logged.
The host asks for download rights and the server ignores the hint. Pages stream in, and a redaction is drawn, burned and logged.
600 MB+documents streamed page by page
11 rolesmapped to viewer capabilities
4pluggable authentication modes
0client hints trusted for security decisions
How it works

A three-stage handshake.

STAGE 01

Embed and authenticate

One postMessage carries everything the viewer needs.

  • The host sends a JWT, a file ID and display hints
  • Folio exchanges the JWT for an authoritative session and gets back the capability set and UI flags
  • Display hints only shape the loading screen. They never decide access.
STAGE 02

View and redact

Large files open as quickly as small ones.

  • Pages stream on demand with a buffer window, never loading the whole file into memory
  • Draw redactions on the page. Positions are stored on a 0-to-1 scale so they stay exact through zoom and rotation
  • Redactions are burned into the PDF with an untouched backup kept in storage
  • Rotate, reorder, delete and merge pages, saved on the server
STAGE 03

Search and export

Every way out is gated separately.

  • OCR and PII detection run as background jobs
  • Full-text and PII search limited to the pages each user may see
  • Download, print and email each need their own capability, and exports use time-limited links
  • Every action written to an audit log the host application can query
Capabilities

Pluggable where it matters, strict where it counts.

OCR your way

Tesseract running locally with no cloud involved, or AWS Textract.

PII detection

Regex matching by default, or AWS Comprehend for more than 20 entity types, each with its own redact button.

Storage

Local disk for development, self-hosted MinIO, or AWS S3.

Search

SQLite by default, or Elasticsearch or MeiliSearch at scale. Each choice is one environment variable.

Session refresh

When a session expires the token refreshes without reloading the document.

Auditable permissions

The role-to-capability map lives in one config file your security team can read and change, with no code changes.

Security & deployment

Built to be checked, not just trusted.

Authentication
JWT via JWKS for production, plus API key, static config and a development bypass.
Integration
One postMessage contract that works in any iframe.
Formats
PDF and TIFF, including files over 600 MB.
Deployment
Self-hosted, with storage, OCR, PII detection and search chosen per deployment.
Built for
Legal and government, healthcare, financial services, and any product that shows sensitive files to users.
Why it's different

Build it yourself, or embed Folio.

AreaBuild it yourselfEmbed Folio
Large documentsCustom streaming codePage-by-page streaming built in
PermissionsClient-side flags, trustedCapabilities resolved on the server
Storage and OCRLocked to one vendorPluggable, chosen per deployment
IntegrationA custom protocol for each appOne postMessage contract
Next step

Embed Folio in your application.

Tell us what your users need to see and what they must not. We'll show you Folio running inside an app like yours.

connect@siviquantlabs.com