Trust Center

What Check Before Send checks, what it changes, how the result is verified — and what it does not do.

In short

What we check
Photos (JPEG, HEIC, AVIF, PNG, WebP): location, date and time, device and lens, author and copyright, captions and comments, extra pictures stored inside the file. Word documents: author and editor names, company, comments, tracked changes, hidden text, document properties, picture metadata, and emails, phone, card, bank and ID numbers, keys and your own terms in the text. PDFs: the same text checks on every page, plus document information and XMP, comments, attached files, form values, scripts and automatic actions, links, digital signatures and earlier versions kept inside the file. Text and CSV files: the same text checks. Videos (MP4, MOV): the recording location, date and time, device maker, model and software, and the names, titles, descriptions and XMP written into the file.
What we remove
Only what you choose — or, in the photo tools, all private metadata we find. Each removal happens in a new copy; your original file is not changed.
What we keep
The picture and the document text itself, plus technical data needed to open or display the file: orientation, colour profile, HDR data, camera settings such as exposure and ISO, and formatting.
What we don't inspect
Anything visible in a photo (faces, signs, screens — no image recognition). PDF pages that are pictures are read on your device by text recognition, which can miss words, so a scanned PDF is still reported as "Could not fully verify". In a video, the picture is only searched for faces, licence plates and readable text when you use one of the video privacy tools, and those detectors miss things — everything else in the picture, and anything said out loud, is never inspected. Names and addresses are not found automatically (except labelled fields in Chinese documents) — you add them yourself. Encrypted PDFs are checked but not cleaned. Excel, PowerPoint and older Office files are not checked yet. Parts of a file we recognise but cannot read are listed as "Not fully inspected", never counted as checked.
How verification works
Check → Clean → Check again → Result. After making the new copy we reopen it and scan it from scratch. "Removal verified" means only that what you removed was not found by that second scan — not that the file is completely safe.

The full technical detail — every capability, how it is verified, and every known limitation — follows below.

Verify that nothing is uploaded

Every tool runs inside this browser tab. Files are read into memory, processed there, and the new copy is handed to your browser as a download.

  1. Open this site and go to the tool you want to use.
  2. Open your browser's developer tools (F12, or right-click → Inspect) and choose the Network tab.
  3. Switch the network to Offline (the throttling menu in Network), or disconnect Wi-Fi.
  4. Drop a file, review it, and create the new copy. It still works — there is nowhere for the file to go.
  5. With the network back on, you can also watch the Network tab while processing: no request carries your file.

Usage analytics, if enabled, only ever record event names, counts and fixed categories (for example "payment_card" or "3 files"). They never record file contents, file names, detected values, your custom terms, GPS coordinates, author names, comment text or keys. This rule is enforced in code, not just promised.

How a result is verified: before and after

Every report shows each item next to two columns: what the scan of your file found (the real value, shown only on your device), and what a fresh scan of the new copy found. The tool never trusts its own edits: it re-opens the new copy from scratch and scans it again with the same scanner, searches again for every value you chose to change, and checks that the rest of the file (the picture data, the document structure, the rows and columns) is unchanged.

Items are sorted into privacy information (could identify you — removed by default), technical information (needed to display the file, such as colour profiles or HDR data — kept) and not fully inspected (recognised but not looked inside — never counted as checked). A removal only gets a ✓ when the re-scan no longer finds it. If anything you chose to remove is still found, the report says "Verification failed" and the copy can only be downloaded after a second, explicit confirmation. The report never says a file is "safe".

Formats are recognised from the file's content, not its name. Formats not supported yet (Excel, PowerPoint, older Office files, RAW) are named and left unchanged.

Document Safe-to-Send (.docx): sensitive values

WhatPackDetectChangeRe-checked in outputStatusHow / limits
Email addressInternationalYesRedact / label / pseudonymYesproductionAddress syntax and boundary rules (RFC 5321 practical subset); file-name look-alikes excluded
Payment card numberInternationalYesRedact / label / pseudonymYesproductionIssuer prefix + length for Visa/Mastercard/Amex/Discover/JCB/Diners/UnionPay, consistent grouping, Luhn checksum
IBAN (bank account)InternationalYesRedact / label / pseudonymYesproductionCountry code with registered IBAN length (82 countries) + ISO 7064 MOD-97 checksum
IPv4 addressInternationalYesRedact / label / pseudonymYesproductionFour dotted octets 0-255, no leading zeros, not part of a longer dotted/word token
API key, token, or credentialInternationalYesRedact / label / pseudonymYesproductionOnly fixed, documented provider signatures: AWS access key id, GitHub tokens, Slack tokens, Stripe keys, Google API key, Anthropic/OpenAI keys, JWT (decoded header must contain alg), user:password@ in URLs
Private key (PEM / OpenSSH / PGP block)InternationalYesRedact / label / pseudonymYesproductionBEGIN ... PRIVATE KEY armor header; the whole block through the matching END line is treated as the finding
Phone number (international +country format)InternationalYesRedact / label / pseudonymYesbetaLeading + with a real ITU country calling code and 8-15 total digits (E.164). National formats outside the US/China packs are not detected.
Possible secret (keyword assignment)InternationalYesRedact / label / pseudonymYesbetaA secret-like keyword (api_key, password, token...) assigned a high-entropy value. Heuristic only — always Needs review, never auto-confirmed.
US Social Security numberUnited StatesYesRedact / label / pseudonymYesproductionSSA structure rules (area not 000/666/900-999, group not 00, serial not 0000, known publicly misused numbers excluded). Dashed form detected anywhere; undashed only with an SSN keyword within 40 characters before it. SSNs have no checksum.
US / NANP phone numberUnited StatesYesRedact / label / pseudonymYesproductionNANP numbering plan: area and exchange codes start 2-9 and are not N11 service codes; formatted (parentheses, dash, dot, space, +1) numbers only — bare 10-digit runs are Needs review
China resident identity card numberChina (mainland)YesRedact / label / pseudonymYesproduction18-character GB 11643-1999 structure: region prefix, real calendar birth date not in the future, ISO 7064 MOD 11-2 check character
China mainland mobile numberChina (mainland)YesRedact / label / pseudonymYesproduction11 digits starting 13-19 (optional +86/0086), grouped as 3-4-4 or unseparated. Landlines are not detected.
China landline numberChina (mainland)YesRedact / label / pseudonymYesbetaA real area code (010, 020-029, 03xx-09xx), dash, 7-8 digits; or the same unseparated right after a phone label
Bank account number (China)China (mainland)YesRedact / label / pseudonymYesbeta12-25 digits directly after an account label (账号, 帐号, 账户, 卡号); no checksum exists for most accounts
Unified social credit code (China)China (mainland)YesRedact / label / pseudonymYesproduction18 characters, GB 32100-2015 structure and check character
Organization named in a labelled field (China)China (mainland)YesRedact / label / pseudonymYesbetaOnly where the document labels the field (法定代表人, 委托代理人, 地址, 甲方/乙方 …)
Person named in a labelled field (China)China (mainland)YesRedact / label / pseudonymYesbetaOnly where the document labels the field (法定代表人, 委托代理人, 地址, 甲方/乙方 …)
Address in a labelled field (China)China (mainland)YesRedact / label / pseudonymYesbetaOnly where the document labels the field (法定代表人, 委托代理人, 地址, 甲方/乙方 …)
Custom target (exact / normalized text)—YesRedact / label / pseudonymYesproductionNFKC + dash/quote/space normalization, case-insensitive by default, word-boundary aware for Latin scripts
Custom target (advanced pattern)—YesRedact / label / pseudonymYesbetaGuarded: no nested/alternating repetition, backreferences, or lookarounds; max 200 chars; must not match empty text
IPv6 address——Flag only—unsupported
Names, street addresses, organizations (automatic)——Flag only—unsupportedNot detected automatically, except in Chinese documents where the form labels the field (法定代表人:, 地址:, 甲方:…) and the China (mainland) pack is on (beta, 2026-09-22). Add others as Custom Targets.

International and United States are on by default. China (mainland) is available and must be turned on. A detector marked beta flags items for your decision; it is never counted as confirmed.

Document Safe-to-Send (.docx): hidden in the file

WhatDetectChangeRe-checked in outputStatusHow / limits
Author / last modified byYesRemoveYesproduction
Created / modified / last-printed timestampsYesRemoveYesproductionAlso covers cp:lastPrinted, not just dcterms:created/modified — found missing during a 2026-09-17 real-world WPS Office file test, not covered by any earlier synthetic fixture.
Company / application propertiesYesRemoveYesproductionCleared when present and reliably readable; not every DOCX sets this field.
Custom document propertiesYesRemoveYesproduction
CommentsYesRemoveYesproductionScanned/cleaned across document.xml plus every discovered header/footer/footnotes/endnotes part, not just the main document.
Tracked changes (insertions/deletions)YesRemoveYesproductionAccept-all semantics across document.xml plus every discovered header/footer/footnotes/endnotes part: insertions kept & unwrapped, deletions removed, deleted paragraph marks correctly merge into the following paragraph (no stray empty bullets/paragraphs).
Tracked formatting-only changes (rPrChange/pPrChange)YesRemoveYesproductionA formatting-only revision (e.g. re-bolded text with Track Changes on) carries no w:ins/w:del and was previously invisible to scanning; now detected and cleared as its own capability.
Tracked moved content (moveFrom/moveTo)YesFlag onlyYesproductionDetected and flagged, but not automatically accepted — left as-is in the output, never silently dropped or claimed as accepted.
Tracked table row/cell insertions & deletionsYesFlag onlyYesproductiontrPr>ins/del and tcPr>cellIns/cellDel reuse element names used elsewhere for run-level changes but mean 'whole row/cell', so they are explicitly excluded from generic accept logic (which would otherwise strip the marker while leaving the row/cell behind) and left untouched, flagged for manual review.
Hidden text (w:vanish)YesRemoveYesproductionDetected via reliable run-level w:vanish formatting only, across document.xml plus every discovered header/footer/footnotes/endnotes part; removes the hidden run's content.
Full story-part coverageYesFlag onlyYesproductionTrue only when every revision-bearing part we can discover (document/headers/footers/footnotes/endnotes) was actually read. A glossary document, or a header/footer we couldn't resolve via relationships, marks this false and blocks an overall Verified result — see V1.1 P0 remediation: 'not fully inspected' must never be reported as safe.
Embedded objectsYesFlag onlyYesproductionPresence detected via relationship types / embeddings parts. Never auto-removed — surfaced as a manual-review warning.
Macros (VBA)YesFlag onlyYesproductionPresence detected via vbaProject.bin. Never auto-removed — surfaced as a manual-review warning.
Metadata of pictures inside the document (location, time, camera, captions)YesRemoveYesproductionEvery picture is recognised by its content and read with the Photo scanners (JPEG, PNG, WebP, HEIC, AVIF). Metadata is removed without re-encoding; each cleaned picture is re-scanned and checked against the original picture data. Word keeps pasted photos byte for byte, GPS included.
Preview picture of the first page (docProps/thumbnail)YesRemoveYesproductionRemoved with its relationship; it is not updated when text is redacted, so it could still show removed text.
Pictures in other formats (EMF/WMF/SVG drawings, GIF, TIFF)YesFlag only—unsupportedListed as not fully inspected and left unchanged.

Photo Safe-to-Share — Beta

JPEG, HEIC/HEIF, AVIF, PNG and WebP. Metadata is removed without re-encoding the picture; decoded pixels were compared on every test file. HEIC was checked on a real iPhone 17 photo (opens in Photos, location gone). Extra pictures stored in a JPEG (multi-picture / MPF, e.g. an HDR map) are checked and cleaned too. Camera settings (exposure, ISO, focal length) are shown and kept unless you remove them. Unrecognised sections are left in place and reported as not fully inspected.

JPEG

WhatDetectChangeRe-checked in outputStatusHow / limits
GPS / locationYesRemoveYesproduction
Capture date/timeYesRemoveYesproduction
Device / camera make & modelYesRemoveYesproduction
Software / EXIF privacy fieldsYesRemoveYesproduction
EXIF (APP1) containerYesRemoveYesproductionEXIF is rebuilt from an allow-list: a valid (1-8) orientation and the technical camera settings (exposure, ISO, aperture, focal length…; removable on request). Every other field — GPS, dates, device, serials, MakerNote, IDs, unrecognised tags, the embedded thumbnail — is dropped. With more than one EXIF container everything is removed (see jpeg.multiple-exif-containers).
Multiple EXIF containers (non-conformant)YesRemoveYesproductionA single JPEG should have at most one EXIF APP1 segment. When more than one is found, orientation preservation is skipped entirely and every EXIF container is removed, rather than guessing which one is authoritative.
Standard XMP (APP1) metadataYesRemoveYesproduction
Extended XMP (APP1) metadataYesRemoveYesproductionListed separately from standard XMP per the 2026-09-17 audit (a single 'jpeg.xmp' label was too broad). Identified by its own signature and removed the same way as standard XMP.
IPTC / Photoshop (APP13) metadataYesRemoveYesproduction
JPEG comment (COM segment)YesRemoveYesproduction
Detailed camera/exposure EXIF fieldsYesRemoveYesproductionAuthor, copyright, comments, unique IDs, MakerNote (incl. the Live Photo link). Removed with the EXIF rewrite.
ICC color profile / orientationYesFlag onlyYesproductionDeliberately preserved (not a privacy field) to avoid breaking color or rotation. Detect+verify only.
Unrecognized APPn segmentYesFlag onlyYesproductionNever auto-removed. Surfaced as 'not fully inspected' rather than marked safe.
Camera settings (exposure, ISO, aperture, focal length…)YesRemoveYesproductionTechnical, shown with their values and kept by default; can be removed. The report shows 'Kept' only if the re-scan still finds them.
Extra pictures in the file (multi-picture / MPF: HDR gain map, depth, previews) and their own metadataYesRemoveYesproductionThe MPF index is parsed and every extra picture is scanned and cleaned with the same rules as the main one; the index is rewritten for the new layout; the extra pictures' picture data must be byte-identical. An unreadable index leaves everything after the main picture unchanged and the file is reported as not fully inspected.
Unrecognised data after the end of the pictureYesRemoveYesproductionShown as not fully inspected and removed by default (a viewer does not need it); confirmed gone by the re-scan.
Original pixel/image data unchanged—Flag onlyYesproductionVerified by byte-for-byte comparison of every non-metadata segment (SOF/DQT/DHT/scan data) between input and output.

HEIC / HEIF / AVIF

WhatDetectChangeRe-checked in outputStatusHow / limits
EXIF in HEIC/HEIF/AVIF (location, time, device, software, lens, Live Photo link)YesRemoveYesproductionEvery Exif item is replaced in place by an empty EXIF block of the same size; no image byte moves.
XMP items in HEIC/HEIF/AVIFYesRemoveYesproductionPrivacy XMP neutralised in place; technical XMP (HDR gain map, masks) kept; unrecognised XMP → not fully inspected.
Title / description / tags (udes)YesRemoveYesproductionText blanked in place.
Image data unchangedYesRemoveYesproductionEvery byte outside the neutralised metadata must equal the original; item layout re-checked.

PNG

WhatDetectChangeRe-checked in outputStatusHow / limits
EXIF in PNG (eXIf)YesRemoveYesproductionChunk removed.
Text chunks (author, comment, software, …)YesRemoveYesproductiontEXt/zTXt/iTXt removed; compressed text read locally.
XMP in PNGYesRemoveYesproductionChunk removed.
Image data unchangedYesRemoveYesproductionKept chunks byte-identical, all CRCs re-checked.

WebP

WhatDetectChangeRe-checked in outputStatusHow / limits
EXIF in WebPYesRemoveYesproductionChunk removed; VP8X flag cleared.
XMP in WebPYesRemoveYesproductionChunk removed; VP8X flag cleared.
Image data unchangedYesRemoveYesproductionImage chunks byte-identical; RIFF size and flags re-checked.

PDF Safe-to-Send — Beta

Runs in your browser with pdf-lib and pdf.js; the PDF is never uploaded. Text is removed from the page content itself — the characters are deleted and the rest of the line keeps its position — and only then covered by a box or replaced by your label. The new PDF is written from scratch (earlier versions kept inside the file are not copied), then reopened by pdf.js and searched again, including every string and stream in the file. Signatures are detected, not verified. Tested on synthetic files for every case and on PDFs written by Microsoft Word and Chrome.

WhatDetectChangeRe-checked in outputStatusHow / limits
Personal information in page textYesRemoveYesproductionSame detectors and custom targets as Document. Values are removed from the page content itself (the characters are deleted, not covered), including text in repeated blocks, hidden or white text and invisible OCR layers; then the new file is reopened by an independent reader and searched again.
Document information and XMP metadataYesRemoveYesproductionAuthor, title, subject, keywords, app, producer, dates, custom properties, the XMP packet, metadata on pages/pictures and app-private data.
Comments, notes, highlights and drawingsYesRemoveYesproduction
Text in pages that are pictures (scans, photos of paper), read by text recognition (OCR)YesRemoveYesbetaRuns on your device (Tesseract, Simplified Chinese and English), up to 60 pages per file. It can miss or misread words, so such pages are never counted as fully checked. Removing blacks the text out in a new picture of the page; the old picture is not kept, and the new copy is read again to confirm.
Photo details inside pictures (EXIF, XMP, IPTC, comments)YesRemoveYesproductionJPEG pictures are read and cleaned by the photo engine: location, time, device, author and editing history removed, picture data byte for byte. JPEG 2000 pictures, JPEGs behind another filter and inline JPEGs with details are reported as not read or not removable, never as checked.
Attached filesYesRemoveYesproductionListed with name, size and type. Small text attachments are searched for personal information; other attachment contents are not opened, so a kept attachment is never counted as checked.
Filled-in form values (AcroForm, XFA data)YesRemoveYesproductionKept by default (they are the content of a filled form). Personal information inside a value is handled like any other text.
Editable form fields (flatten)YesRemoveYesbetaFlattening makes fields part of the page; the values stay visible. It is not a privacy removal.
JavaScript, launch, submit and other automatic actionsYesRemoveYesproductionNever executed — only classified.
Links to websitesYesRemoveYesproductionKept by default.
Digital signaturesYesRemoveYesproductionDetected, not cryptographically verified. Any new copy invalidates a signature; the user must confirm before a copy is made.
Earlier versions kept by incremental savesYesRemoveYesproductionThe new file is always written from scratch.
Encrypted and password-protected PDFsYesFlag only—unsupportedEncrypted PDFs that open without a password are checked but not cleaned in this version; password-protected PDFs can't be opened.
Scanned pages and text inside picturesYesFlag only—unsupportedDetected and reported as not fully checked. No OCR in this version: 'no text found' is never reported as 'nothing found'.
Redaction marks that were never appliedYesFlag onlyYesbeta

Video Safe-to-Send — Beta

Reads the file's metadata boxes only; the video is never decoded, re-encoded or uploaded, and only the small metadata parts of the file are read, so a large video is never loaded into memory in one piece. What you choose to remove is overwritten in place with empty space of exactly the same size, so every other byte — all the picture and sound data — stays where it was. The new copy is then read back from its own bytes, searched again for what you removed, and compared with the original byte by byte outside those metadata boxes. The picture and the sound are never inspected: faces, number plates, screens and spoken words are listed as not checked, never as clean. Tested on synthetic MP4 and MOV files covering the four metadata shapes real writers produce, with the cleaned copies decoded by ffmpeg to confirm every frame is unchanged.

WhatDetectChangeRe-checked in outputStatusHow / limits
Recording location (©xyz, loci, com.apple.quicktime.location.*)YesRemoveYesbetaThe whole metadata box is replaced by empty space of the same size; no frame byte moves.
Recording date and time (mvhd/tkhd/mdhd, ©day, creationdate)YesRemoveYesbetaHeader time fields are zeroed in place; date metadata boxes are emptied.
Device maker, model and softwareYesRemoveYesbetaMetadata boxes emptied in place.
Title, author, description, comments, keywordsYesRemoveYesbetaMetadata boxes emptied in place.
XMP packets in a uuid or udta boxYesRemoveYesbetaPacket box emptied in place; classified as privacy or technical before removal.
Metadata fields we don't recogniseYesRemoveYesbetaEmptied by default; never reported as harmless.
Picture and sound unchangedYesRemoveYesbetaEvery byte outside the emptied metadata must equal the original, and the top-level layout is re-checked.

Text and CSV

WhatDetectChangeRe-checked in outputStatusHow / limits
Personal data in plain text / CSVYesRemoveYesproductionSame detectors and custom targets as Document. Removed values are searched for again in the new file.
Invisible characters (zero-width, direction controls)YesRemoveYesproductionRemoved by default; you can choose Keep.
Rows, columns and lines unchangedYesFlag onlyYesproductionCSV row and column counts and the line count must match the original.

UTF-8 and UTF-16 files are written back in the same encoding. Files without an encoding marker that aren't UTF-8 are read with a best guess (GB18030 or Windows-1252), marked not fully inspected, and saved as UTF-8.

Known limitations

  • Names, street addresses and organizations are not recognized automatically, except in Chinese documents where the form labels the field (法定代表人:, 地址:, 甲方:…) and the China (mainland) pack is on. Add others as your own terms.
  • Text recognition (OCR) is used only for PDF pages that are pictures: Simplified Chinese and English, on your device, up to 60 pages per file, and it can miss or misread words. Text inside photos, screenshots and pictures in Word documents is not read.
  • Excel, PowerPoint, older Office files (.doc/.xls/.ppt), OpenDocument, RTF and camera RAW/DNG are not checked yet. GIF, TIFF and BMP pictures are not supported.
  • PDF: pages that are pictures are read by text recognition; removing something from them turns the page into a new picture with the text blacked out (typed text on that page can no longer be selected). Because recognition can miss words, such PDFs are reported as "Could not fully verify". Encrypted PDFs are checked but not cleaned; password-protected PDFs can't be opened. Text in fonts without a usable character map, vertical text and text in unusual encodings is reported, not rewritten. Contents of attached files other than small text files are not opened. Photo details stored inside JPEG pictures (location, time, device, author) are found and removed; JPEG 2000 pictures and photos stored behind another compression layer are reported as not read.
  • Video, metadata tool: MP4 and MOV up to 500 MB, metadata only — the picture and sound are not inspected and not changed.
  • Video, picture tools (faces, licence plates, on-screen text): up to 300 MB, one at a time. Detection misses things — small, turned-away or motion-blurred faces, plates outside China (the model was trained on Chinese plates), highlighted or light-on-dark text — and in a dark video it falls apart, which the page says when it happens. Only the frames it samples are looked at, at most 0.4 s apart. Marking an area by hand always works. The new copy is re-encoded and the covers are burned in; the sound is copied unchanged and nothing in it is inspected.
  • Pictures inside a Word document in EMF, WMF, SVG, GIF or TIFF format are listed as not fully inspected and left unchanged.
  • HEIC/AVIF image sequences (moving pictures) and uncommon HEIF structures are reported as not fully inspected.
  • Photo cleaning removes all detected photo metadata together; you can't keep only some of it in the Photo tool (you can in Check Any File for HEIC, PNG and WebP).
  • Phone numbers: US/NANP formats, international numbers written with a leading + (beta), and China mobile numbers (opt-in). Other national formats are not detected.
  • IPv6 addresses are not detected.
  • API keys: only providers with a fixed, documented format are detected. Generic "password = …" lines are beta and always need your decision.
  • DOCX custom XML data, building blocks/glossary, charts and SmartArt are searched but not rewritten. Matches there are reported for you to handle.
  • Contents of embedded objects (e.g. an embedded spreadsheet) and macros are flagged, not opened or removed.
  • Tracked moves and table row/cell revisions are flagged, not accepted automatically.
  • Redacting text that is also shown by an updatable field (e.g. DOCVARIABLE) changes the cached display text; updating fields later may recompute it.
  • Real phone/camera photo coverage is still being validated on a wider set of devices (so far: one iPhone 17 HEIC photo and five iPhone JPEG photos).
  • This is not a legal, medical or regulatory compliance tool, and no tool can promise a file is completely safe.

Open-source software

PDF files are read with Mozilla pdf.js (Apache-2.0) and pdf-lib (MIT), running in your browser. Every third-party package in this site, with its license text: third-party-licenses.txt.