PDF Metadata Privacy Copy
What PDF Metadata Privacy Copy actually does
A PDF can repeat identifying details in several container structures even after its Author and Title boxes look blank. This workbench inventories the complete document-properties dictionary, reachable PDF Metadata streams, private PieceInfo records, source document IDs, and prior revision objects before it changes anything. It then applies one fixed privacy-copy policy, writes only the current reachable document graph, and runs a separately implemented second pass over the candidate. The PDF and its JSON receipt appear only after the current source, policy, candidate bytes, preservation checks, and final Blob hash agree. The boundary stays narrow and visible: page text and images, comments, form values, attachments, scripts, layers, thumbnails, and metadata inside embedded payloads are preserved for separate review.
How to use it
- Choose one PDF up to 25 MiB. The browser hashes it and inspects covered container surfaces without rendering their values or custom key names.
- Review the owner-category inventory and the separate list of content and interactive features that will remain unchanged.
- Acknowledge the boundary, then build. Signed, encrypted, conformance-declared, shared-alias, unsupported, or incompletely inspected files are refused rather than weakened by an override.
- Download the verified PDF and the JSON receipt separately. Their whole-file hashes bind the pair for consistency; the receipt is not an authenticity certificate.
Useful for
- Remove document properties and PDF Metadata packets before sharing a report outside an organization.
- See whether a PDF has custom properties, object-owned metadata, source IDs, or revision history that a basic properties dialog misses.
- Create a new privacy copy while retaining page appearance, forms, comments, attachments, navigation, and resources exactly within the stated profile.
- Keep a machine-readable record of which covered surfaces were found, removed, preserved, and checked.
Limits worth knowing
- This is a PDF-container metadata policy, not page-content redaction or broader document cleaning.
- Comments and author names in annotations, form values, attachments and filenames, scripts, layers, bookmarks, links, thumbnails, and hidden or OCR text remain.
- Metadata inside embedded image or attachment payloads is not decoded or changed. A detected container is reported only as a potential privacy surface.
- Encrypted, signed, PDF/A, PDF/X, PDF/UA, structurally ambiguous, unsupported-filter, and incompletely inspected files are refused with no bypass.
- The browser cap is 25 MiB and 1,000 pages, with additional object, depth, decoded-stream, output-growth, time, and receipt limits.
- The receipt contains document fingerprints. It detects accidental pair mismatch but cannot prove who created either file or prevent deliberate rebinding of both.
Covered PDF-container surfaces
| Surface | What happens |
|---|---|
| Document properties | Removes the complete trailer Info dictionary, including custom keys whose names and values are never shown. |
| PDF Metadata streams | Removes every reachable Metadata owner edge across the current document graph. |
| PieceInfo and LastModified | Removes Catalog and page private-data entries covered by the fixed policy. |
| Source document ID | Ensures neither source ID value survives; the writer may issue a new unrelated output ID. |
| Prior revisions and detached objects | Writes a fresh root-reachable graph with one terminal revision and no carried orphan objects. |
Preserved and out-of-scope surfaces
| Surface | What happens |
|---|---|
| Page content | Text, images, hidden or OCR text, page order, boxes, rotations, and resources remain unchanged. |
| Interactive content | Comments, form values and appearances, actions, scripts, links, layers, bookmarks, and indexes remain. |
| Embedded files | Attachments, filenames, relationships, and bytes remain; their internal content is not inspected. |
| Embedded image metadata | EXIF, IPTC, or XMP inside image payloads is outside this policy and is not decoded. |
| External copies | The original file, browser or operating-system storage, backups, and prior shared copies are outside the rewrite. |
Before sharing the privacy copy
- Read visible and hidden page text for names, account details, tracked changes, and other content that metadata removal cannot address.
- Inspect comments, form values, attachments and filenames, scripts, layers, bookmarks, links, and thumbnails with the appropriate companion tool.
- Keep the untouched original separately; this page always creates a new file and does not erase earlier copies.
- Retain the receipt only when its source and output fingerprints are acceptable to share with its recipient.
Questions people ask
Does this remove the Author field from a PDF?
Yes, because the complete Info dictionary is covered rather than a short list of familiar keys. Custom property names and values are counted but never shown in the page or receipt.
Does it remove XMP?
It removes reachable PDF Metadata streams attached through covered owner edges. It does not decode or rewrite metadata stored inside an embedded JPEG, JPX image, or attachment payload.
Why make a fresh PDF instead of editing the existing bytes?
An incremental edit can leave the old properties in an earlier revision. The privacy copy retains only the current post-policy reachable graph and writes one new terminal revision.
Why are signed and standards-declared PDFs refused?
A rewrite invalidates signatures and can break PDF/A, PDF/X, or PDF/UA declarations. This version will not turn that loss into a checkbox that bypasses the proof boundary.
Does the selected PDF leave the browser?
No. File processing stays in this tab. The page code and fonts load normally, but the selected PDF is passed only to local browser workers.
What does the receipt prove?
It records the fixed policy, bounded before-and-after counts, second-pass verdict, limits, and exact source/output fingerprints. It catches an accidental mismatch between the two downloads; it is not a signature and does not prove authorship.