Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 3.79 KB

File metadata and controls

38 lines (31 loc) · 3.79 KB

Format Support

Capability JPEG WebP PNG
Signature detection Supported Supported Supported
Bounded container traversal Supported Supported Supported
EXIF container detection Supported Supported Supported (eXIf)
XMP detection Supported Supported Supported (exact XMP iTXt keyword)
ICC detection Supported Supported Supported (iCCP)
TIFF/EXIF field decoding Supported subset Container only Supported subset via shared TIFF core
MakerNote decoding Not supported Not supported Not supported
XMP/IPTC/ICC payload decoding Not supported Not supported Not supported
Whole-container cleaning Supported Supported Supported
Structured verification Supported Supported Supported

PNG detail

PNG capability Status
Signature and chunk traversal Supported
tEXt, zTXt, iTXt detection Supported
Exact XMP iTXt detection Supported
eXIf detection and shared TIFF decoding Supported
iCCP and tIME detection Supported
CRC-32 validation Supported; mismatch is a warning
Rendering/color and APNG classification Supported at chunk level
Compressed text decompression Not supported
ICC decompression Not supported
IDAT/APNG decoding Not supported
Privacy Clean and verification Supported

The shared TIFF subset covers common IFD0, ExifIFD, GPSIFD, and next-IFD entries with bounded tables, offsets, depth, counts, and cycles. PNG eXIf begins directly at TIFF byte zero; JPEG begins after Exif\0\0. WebP EXIF remains container-only because its payload convention is not guessed.

Container cleaning and verification

JPEG removes private EXIF, XMP, Photoshop/IPTC, and comments. Exactly one valid IFD0 Orientation value from 1 through 8 is retained in a canonical minimal EXIF APP1 segment to preserve rendering; malformed or ambiguous Orientation is removed rather than guessed. WebP removes EXIF and XMP, repairs RIFF size, and aligns retained VP8X flags. PNG removes eXIf, XMP and ordinary text chunks, and tIME; it preserves ICC, rendering/color, IDAT, APNG, unknown, critical, CRC, and trailing bytes by default.

Verification reports observable supported metadata-container presence or absence. Canonical JPEG Orientation-only EXIF satisfies the default privacy expectation, but Orientation plus any other EXIF or GPS entry does not. Expectations for concepts not implemented by a format are omitted as not applicable; they do not generate synthetic passing checks. If maxMetadataEntries truncates reporting, the report carries metadataTruncated: true and verification returns valid: false with no checks. It does not decode XMP/IPTC/ICC or compressed PNG text, prove byte provenance, or prove complete removal of personal information.