KitForma field notes

Read web archives without activating their content

Keep a passive view and an unchanged source together.

Keep active content out of the viewer

The parser builds a new allow-listed reading tree. Original scripts, event attributes, CSS, forms, SVG, media and frames are not inserted into the preview. Live links become inert text and their destinations are recorded in the manifest.

The preview creates new allow-listed elements and text nodes inside a style-isolated shadow root; it does not parse archived markup with innerHTML. Downloaded HTML has its own restrictive content security policy. A shadow root isolates presentation, not security: removing active markup and content-driven network references is the security control.

Keep source bytes without accidental execution

The source-original.mhtml.bin file is an unchanged copy of the input. Individual raw parts use .bin names too. They may contain scripts or other active formats: inspect them with a text or hex editor rather than renaming and opening them as pages.

A reading copy is a convenience artifact. It does not prove who created the archive, when it was captured, or whether it is authentic. Preserve the original outside this workflow when provenance matters.

Handle privacy deliberately

No original file is uploaded to a conversion service. The browser may load self-hosted engine or font assets from KitForma; those requests do not contain archive data. Do not share the ZIP without checking its original source, links and hidden MIME parts.

The generated manifest can contain original URLs and metadata. A redacted PDF and a source-preserving ZIP serve different sharing needs; review the intended recipient before distributing either.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-18. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.