Private sharing preflight · Parsed PDF objects

PDF privacy inspector: metadata, files, forms, links, and active content

See what a PDF may reveal or activate before you share it: Document Info, XMP, embedded files, interactive forms, external destinations, JavaScript events, launch actions, and other parsed object signals.

Quick answer

A PDF can carry more than visible pages.

It may include author and software metadata, an XMP packet, files, form values, links, and actions associated with opening the document or interacting with a page. Those features are often legitimate. This inspector reports evidence for review; it does not label a PDF malicious, authentic, anonymous, or safe.

No PDF upload

Inspect a PDF before sharing it

Analyzed on this device
Drop one PDF here or choose a file from this device The PDF is parsed in browser memory and is not sent to a conversion server.

Ready. Choose a PDF to inspect its metadata and interactive features.

Metadata and active content are different questions

Document Info

Classic properties such as Title, Author, Subject, Keywords, Creator, Producer, CreationDate, and ModDate. Creator usually names the source application; Producer usually names the software that wrote the PDF.

XMP metadata

An XML metadata stream can repeat or extend Document Info. Checking one source does not prove the other is absent, and conflicting values are possible.

Interactive content

Forms, links, attachments, and actions are document features. They can support normal workflows while still deserving review before a sensitive document is opened or distributed.

Security verdict

Requires much more than feature presence: hardened parsing, exploit detection, viewer-specific behavior, signatures, reputation, and often sandboxed execution. This browser tool deliberately does not claim that scope.

What the PDF specification actually defines

The official PDF 1.7 specification defines document-information dictionaries and metadata streams, file specifications and embedded-file streams, interactive forms, annotations, and action dictionaries. Adobe’s action reference lists JavaScript, Launch, SubmitForm, URI, and GoToR among the available action types. A JavaScript action executes a script; a Launch action asks a viewer to launch an application or open a document; SubmitForm sends form data to a URL.

NIST’s Guidelines on Active Content and Mobile Code describes active content broadly as electronic documents containing software components that can carry out or trigger actions. The practical lesson is not that every interactive PDF is hostile. It is that a document can be both content and a behavior container, and viewers do not all support or restrict those behaviors identically.

Reproducible privacy stress fixtures

The active fixture is intentionally synthetic and benign. It contains the author Ada Fixture, Document Info, XMP, one text field, one external link to example.com, one text attachment, and one document-level JavaScript action that writes a fixture string to a supporting viewer console. The minimal control contains a visible page and basic title/dates, but no XMP, form, link, attachment, or JavaScript.

Active-content fixture · Minimal control PDF · Expected results and SHA-256 · Poppler pdfinfo evidence · Poppler attachment evidence

How the inspection works

  1. Verify the PDF signature. A filename ending in .pdf is not sufficient evidence.
  2. Use PDF.js public document APIs. Metadata, XMP, attachments, fields, permissions, JavaScript events, and page annotations are requested without rendering or activating their destinations.
  3. Walk parsed indirect objects with PDF-LIB. Dictionaries and arrays are traversed after PDF decoding, so compressed object structures are more visible than they would be to a plain text search.
  4. Separate evidence from conclusions. Metadata values are displayed as data; feature keys are counted; neither becomes an automatic malware or authenticity label.
  5. Keep the report portable. CSV provides a concise review list. JSON preserves parser results, feature locations, permissions, fields, and caveats.

Limitations and safe use

This is not antivirus, a detonation sandbox, PDF signature validation, revision-history forensics, redaction verification, accessibility testing, PDF/A validation, or proof of authorship. It does not execute scripts, follow links, submit forms, or open attachments. Malformed objects, unsupported encryption, parser bugs, viewer-specific extensions, compressed payloads inside attachments, and new techniques can escape these checks.

A no-findings report means only that these versions of PDF.js and PDF-LIB did not return the covered signals. Treat unexpected documents according to your organization’s security policy and open them only in maintained software with appropriate sandboxing. Do not upload a confidential PDF merely to obtain a second opinion.

Frequently asked questions

What metadata can a PDF reveal?

Document Info and XMP can expose author, creator software, PDF producer, title, subject, keywords, and creation or modification dates. Metadata is evidence about fields stored in the file, not proof of who authored the visible content.

Can a PDF contain JavaScript or attachments?

Yes. PDF defines JavaScript actions, embedded-file streams, forms, URI actions, launch actions, and other interactive structures. Legitimate documents use these too, so detection means review—not “malware found.”

Does removing metadata make a PDF anonymous?

No. Visible names, comments, form values, filenames, unique wording, links, attachments, digital signatures, and the surrounding sharing context can still identify a person or organization.

Does this tool prove a PDF is safe?

No. It is a read-only privacy and common-structure preflight. Security analysis requires broader, continuously updated techniques and must account for the viewer that will open the file.

Related private PDF workflows