---
title: "Metadata Cleanup Tests: Images, PDF and Word | BeforeShare"
description: "Repeat BeforeShare’s image, PDF and Word cleanup experiments. Download synthetic originals, measured outputs and an independent document verifier."
url: https://beforeshare.com/en/metadata-lab/cleanup-verification-study
language: en
agent_guide: https://beforeshare.com/agent-guide.md
---

BeforeShare Lab · Reproducible experiment

# Metadata Cleanup Tests: Images, PDF and Word

Our controlled browser experiments show what metadata cleanup removes and what it leaves behind. Download the synthetic files, check the measurements, and repeat the steps yourself.

By [TuliAI](https://beforeshare.com/en/about) · Page revised: October 19, 2026

Latest measurement: October 10, 2026. Each experiment retains its own date, files and results; a page revision does not mean the measurements were repeated.

Data license: the synthetic sample files and measured results on this page are published under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). You can reuse them if you credit BeforeShare and link to this page.

In these three fixtures, reinspection found zero supported removable fields after cleaning, and all three files decoded to identical pixels. JPEG, PNG, and WebP are cleaned at the container level without re-encoding. Dimensions stayed the same in all three files.

[Inspect a fixture or your own image](https://beforeshare.com/en/remove-ai-metadata#tool)

## Measured results

Image test: 2026-10-10 · chromium 145.0.7632.6

### JPEG

**Fields removed**

1

**Removable fields left**

0

**Decoded pixels**

Identical in this test

**File size**

989 → 924 B

[Download synthetic JPEG](https://beforeshare.com/metadata-lab/cleanup-study/synthetic.jpg)

### PNG

**Fields removed**

2

**Removable fields left**

0

**Decoded pixels**

Identical in this test

**File size**

282 → 72 B

[Download synthetic PNG](https://beforeshare.com/metadata-lab/cleanup-study/synthetic.png)

### WebP

**Fields removed**

2

**Removable fields left**

0

**Decoded pixels**

Identical in this test

**File size**

888 → 650 B

[Download synthetic WebP](https://beforeshare.com/metadata-lab/cleanup-study/synthetic.webp)

[Download the measured results (JSON)](https://beforeshare.com/metadata-lab/cleanup-study/results.json)

## Small test. Explicit limits.

This is one synthetic still image per format, not a benchmark of every image or generator. The PNG contains a constructed C2PA-like container for detection testing, not a signed credential or a real provider export. We do not validate C2PA signatures, prove authorship, test invisible watermarks, or certify that every hidden field is gone. Animation, color profiles, other browsers and real-world files need separate tests.

Workflow test: 2026-09-19 · chromium 145.0.7632.6

## Test: ComfyUI workflow metadata and ExifTool

We created two synthetic PNGs with a ComfyUI-style prompt, seed and workflow JSON. We ran the actual BeforeShare download and compared it with ExifTool 13.59. In both cases, BeforeShare removed both workflow containers while preserving the same IDAT image stream and decoded pixels.

### PNG prompt and workflow text

**Workflow containers before**

2

**BeforeShare**

Removed

**ExifTool 13.59**

Removed

**Pixels after BeforeShare**

Identical in this test

[Synthetic original](https://beforeshare.com/metadata-lab/workflow-study/png-text.png)

[BeforeShare copy](https://beforeshare.com/metadata-lab/workflow-study/png-text-beforeshare.png)

[ExifTool copy](https://beforeshare.com/metadata-lab/workflow-study/png-text-exiftool.png)

### PNG private comf containers

**Workflow containers before**

2

**BeforeShare**

Removed

**ExifTool 13.59**

Did not recognize the private comf chunks

**Pixels after BeforeShare**

Identical in this test

[Synthetic original](https://beforeshare.com/metadata-lab/workflow-study/png-private.png)

[BeforeShare copy](https://beforeshare.com/metadata-lab/workflow-study/png-private-beforeshare.png)

[ExifTool copy](https://beforeshare.com/metadata-lab/workflow-study/png-private-exiftool.png)

Important result: ExifTool removed the recognized tEXt prompt and workflow fields, but its -all= command left the second file’s private comf chunks intact. That describes ExifTool 13.59 and these exact fixtures; it is not a universal limitation.

[Download results and commands (JSON)](https://beforeshare.com/metadata-lab/workflow-study/results.json)

## Comparison limits

These are two synthetic still PNGs, not real ComfyUI exports. The second fixture models private comf storage but is not animated. The test does not cover every ExifTool command, option, version or format, signed C2PA, or proprietary watermarks. ExifTool supports far more formats and advanced operations than BeforeShare.

BeforeShare experiment · TuliAI · September 30, 2026

## PDF and Word: what is removed and what remains

We created one synthetic PDF and one synthetic DOCX, cleaned them with the actual tool buttons, and checked the downloaded files with pdf-lib and JSZip as well as the cleaner receipt. Detected supported fields were removed in both. A name written in the content remained in both: metadata cleanup does not redact visible content.

### PDF

**Fields removed**

7

**Removable fields left**

0

**File size**

1989 → 991 B

Info and catalog XMP removed. One page and its content stream retained. The reviewer annotation remains.

[Download synthetic original](https://beforeshare.com/metadata-lab/document-study/synthetic.pdf)

[Download measured clean copy](https://beforeshare.com/metadata-lab/document-study/synthetic-clean.pdf)

[Repeat the cleanup in your browser →](https://beforeshare.com/en/remove-pdf-metadata#tool)

### DOCX

**Fields removed**

11

**Removable fields left**

0

**File size**

4087 → 3353 B

Author, company and comment removed. Inserted text accepted and deleted text discarded. The name in the paragraph remains.

[Download synthetic original](https://beforeshare.com/metadata-lab/document-study/synthetic.docx)

[Download measured clean copy](https://beforeshare.com/metadata-lab/document-study/synthetic-clean.docx)

[Repeat the cleanup in your browser →](https://beforeshare.com/en/remove-word-metadata#tool)

### How to repeat and check the experiment

1. Download a synthetic original, select it in the PDF or Word cleaner, and save the clean copy and its report. You do not need a personal file.
2. Open the PDF and DOCX in their viewers. The visible name remains; the PDF also retains the annotation. Compare Word review history in the original and the copy.
3. For an independent check, download the verifier below. With Node.js installed, run these commands in an empty folder. With no arguments it checks the published copies; the second mode checks copies you cleaned yourself.

[Download the independent verifier (JavaScript)](https://beforeshare.com/metadata-lab/document-study/verify-documents.mjs)

```
`npm install --no-save pdf-lib jszip node verify-documents.mjs node verify-documents.mjs my-clean.pdf my-clean.docx`
```

[Results, checks and SHA-256 hashes (JSON)](https://beforeshare.com/metadata-lab/document-study/results.json) · [PDF receipt](https://beforeshare.com/metadata-lab/document-study/pdf-report.json) · [DOCX receipt](https://beforeshare.com/metadata-lab/document-study/docx-report.json)

Limits: these are two deliberately constructed files, not customer documents or coverage of every Office or PDF feature. We compared PDF content streams, not complete renderings. We did not test encryption, signatures, macros or every embedded object. The receipt uses the same engine for reinspection; the verifier adds specific independent checks. A hash identifies bytes, not universal safety. ZIP timestamps can change the DOCX hash on a repeat run.

chromium 145.0.7632.6 · Method and corrections: [contact TuliAI](https://beforeshare.com/en/contact).

## How we tested

1. Created synthetic JPEG author metadata, PNG prompt text and a structural provenance container, and WebP XMP metadata.
2. Selected each fixture in the English AI-metadata tool, cleaned it, and read the actual post-clean report.
3. Decoded both files in the same browser. Compared dimensions and a SHA-256 hash of the RGBA pixels; PNG/WebP had to match.
4. Recorded input/output file hashes, byte counts, removed-field counts, remaining supported fields and browser version.

## Repeat it yourself

Download an original fixture above, select it in the tool, then clean it and save the cleanup report. The report identifies your output with SHA-256. Because cleaning copies image data without re-encoding, the same input file produces the same output hash in any supported browser.

[Inspect a fixture or your own image →](https://beforeshare.com/en/remove-ai-metadata#tool)

**Technical record and reproduction**

Run from the app repository after installing its dependencies. The test uses the published fixtures and asserts real cleanup and pixel behavior. It does not replace the full regression suite.

```
`npm run build npx playwright test tests/e2e/cleanup-study.spec.mjs`
```

Executable test: [Download browser test source](https://beforeshare.com/metadata-lab/cleanup-study/browser-image-test-source.mjs)

```
`{ "engineSourceSha256": "1586d4b6defd3053daa4bca94868b7826b56c8e7a0eeda90d0f3619cfa4197ff", "testedAt": "2026-10-10T17:31:18.608Z", "browser": "chromium 145.0.7632.6", "scope": "Three synthetic still images. Not provider exports, signed C2PA validation, animation or universal format coverage.", "rows": [ { "format": "JPEG", "fixture": "synthetic.jpg", "inputSha256": "eb47ea573dbeca14e8d5c9ea4bfafd2a63afd269ca8b02a0d80d885b7aea401c", "outputSha256": "dfe906d75ecc0bee3721d04c082968241fba7607518ac36899e2c396a45f6b3f", "inputBytes": 989, "outputBytes": 924, "removedCount": 1, "residualCount": 0, "width": 32, "height": 24, "pixelsEqual": true }, { "format": "PNG", "fixture": "synthetic.png", "inputSha256": "ed60f185c99d42c460296fcf4bf41efe89abf349db315a42f1f0c36f30e4348b", "outputSha256": "5f8564422b1aa2e65999237b5fe9eca4ed4296f22eb28c05246bc21a4a598e13", "inputBytes": 282, "outputBytes": 72, "removedCount": 2, "residualCount": 0, "width": 8, "height": 8, "pixelsEqual": true }, { "format": "WebP", "fixture": "synthetic.webp", "inputSha256": "a64ffe91bdcb17056442681f77c48b2f53bb831abc1202bd47bc44cf9665287c", "outputSha256": "1138f8186cfe30696561aae8bf415b3d115dc7f2340ac0713fe3050530d19fa4", "inputBytes": 888, "outputBytes": 650, "removedCount": 2, "residualCount": 0, "width": 32, "height": 24, "pixelsEqual": true } ] }`
```

## Format references

- [W3C PNG specification](https://www.w3.org/TR/png-3/)
- [Google WebP container specification](https://developers.google.com/speed/webp/docs/riff_container)
- [C2PA 2.4 specification](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html)
- [ExifTool by Phil Harvey](https://exiftool.org/)
