You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: audit README vs implementation, fix discrepancies & enable PDF C2PA (#23)
* docs: audit README vs implementation, fix 6 discrepancies
Thorough audit found README claims that didn't match the actual code.
Fixes across all 8 README files (zh-CN, en, de, ja, ko, hi, es, zh-CN copy):
- "76 AI tools" → "62 AI tools" (76 was pattern count including aliases)
- "10 detection methods" → "11" (visible_watermark.rs was undocumented)
- Added visible watermark detection description to all READMEs
- Moved --deep from "Global Flags" to new "Check Options" section (it's check-specific)
- Documented --lang flag (existed in code but missing from all READMEs)
- Added --min-confidence and -r/--recursive to Check Options table
- Added Loudly to audio tool table (was in known_tools.rs but not documented)
- Added missing Qwen, Wan, Google AI to stale translation tool tables
- Synced stale docs/README.zh-CN.md with main README.md
- Fixed EXIF confidence from "LOW" to "LOW–MEDIUM" in stale translations
- Updated flow diagrams to include visible watermark
Also:
- Enabled c2pa "pdf" feature for actual PDF C2PA manifest support
- Added Adobe Firefly test fixture and 4 integration tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: normalize LFS pointer files for test fixtures
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
**C2PA-Manifeste (HIGH Konfidenz)** — Kryptografisch signierte Herkunftsnachweise. Wenn ein C2PA-Manifest sagt „hergestellt von DALL-E", ist das das autoritativste Signal, das Metadaten liefern können. Liest `digitalSourceType`und `claim_generator`. Funktioniert mit Bildern, Videos und Audio (z.B. ElevenLabs).
82
+
**C2PA-Manifeste (HIGH Konfidenz)** — Kryptografisch signierte Herkunftsnachweise. Wenn ein C2PA-Manifest sagt „hergestellt von DALL-E", ist das das autoritativste Signal, das Metadaten liefern können. Liest `digitalSourceType`, `claim_generator`und `claim_generator_info`. Kann spezifische KI-Tools aus Herstellerkennungen im Claim-Generator ableiten (z.B. Google → Google AI). Funktioniert mit Bildern, Videos und Audio (z.B. ElevenLabs).
83
83
84
-
**XMP/IPTC-Metadaten (MEDIUM Konfidenz)** — Standard-Foto-Metadaten: `DigitalSourceType`, `AISystemUsed`, `AIPromptInformation`, `CreatorTool`. Zuverlässig, aber nicht signiert — kann gefälscht oder entfernt werden.
84
+
**XMP/IPTC-Metadaten (MEDIUM Konfidenz)** — Standard-Foto-Metadaten: `DigitalSourceType`, `AISystemUsed`, `AIPromptInformation`, `CreatorTool`, `Credit` (z.B. Google AIs `photoshop:Credit`). Zuverlässig, aber nicht signiert — kann gefälscht oder entfernt werden.
**ID3-Audio-Metadaten (MEDIUM Konfidenz)** — Liest ID3v2-Tags aus MP3-Dateien: Kommentarframes (COMM), URL-Frames (WOAS/WOAF/WXXX) und Textframes (TENC/TPUB/TXXX). Erkennt KI-Audioplattformen wie Suno (über eingebettete URLs und „made with suno"-Kommentare).
89
89
90
90
**WAV-Container-Metadaten (MEDIUM/LOW Konfidenz)** — Analysiert RIFF-LIST/INFO-Blöcke (ISFT, ICMT, IART) auf Verweise zu KI-Tools. Kennzeichnet außerdem TTS-typische Audioeigenschaften: Mono-Kanal + nicht-standardmäßige Abtastraten (16kHz, 22050Hz, 24000Hz).
91
91
92
-
**EXIF-Heuristiken (LOW Konfidenz)** — Wenn das `Software`-Tag mit einem bekannten KI-Tool übereinstimmt UND typische Kamerafelder (Make, Model, GPS, Brennweite) fehlen, ist es wahrscheinlich KI-generiert. Erkennt auch hash-artige Artist-Tags.
92
+
**EXIF-Heuristiken (LOW–MEDIUM Konfidenz)** — Wenn das `Software`-Tag mit einem bekannten KI-Tool übereinstimmt UND typische Kamerafelder (Make, Model, GPS, Brennweite) fehlen, ist es wahrscheinlich KI-generiert. Erkennt auch hash-artige Artist-Tags. Zusätzlich werden AIGC-JSON-Labels aus `UserComment` analysiert (z.B. Qianfan-Qwen-Bilder), wobei `ContentProducer`-Unternehmens-ID-Präfixe auf spezifische Tools abgebildet werden (MEDIUM Konfidenz).
93
93
94
94
**PNG-Textblöcke (LOW Konfidenz)** — Durchsucht `tEXt`- und `iTXt`-Blöcke nach KI-Tool-Verweisen in den Schlüsselwörtern Software, Comment, Description, Source, Author, parameters und prompt.
95
95
@@ -99,6 +99,8 @@ real_photo.jpg
99
99
100
100
**Unsichtbare Wasserzeichen (LOW Konfidenz)** — Pixelbasierte DWT-DCT-Analyse, die Kanalrauschen-Asymmetrie, kanalübergreifende Bit-Übereinstimmung und Wavelet-Energiemuster erkennt. Bei Videos werden automatisch Keyframes über `ffmpeg` extrahiert und einzeln analysiert. Läuft automatisch als Fallback, wenn keine Metadaten-Signale gefunden werden, oder auf Anforderung mit `--deep`.
101
101
102
+
**Sichtbare Wasserzeichen (MEDIUM Konfidenz)** — Erkennt sichtbare Texteinblendungen in Bildecken (z.B. chinesische KI-Inhaltskennzeichnungslabels). Nutzt Luminanzanalyse und Textzeilenmustererkennung zur Identifikation kleiner Textabzeichen in Ecken. Läuft zusammen mit der unsichtbaren Wasserzeichenerkennung, nur für Bilder.
**Invisible Watermarks (LOW confidence)** — Pixel-level DWT-DCT analysis that detects channel noise asymmetry, cross-channel bit agreement, and wavelet energy patterns. For videos, automatically extracts keyframes via `ffmpeg` and analyzes them individually. Runs automatically as a fallback when no metadata signals are found, or on demand with `--deep`.
101
101
102
+
**Visible Watermarks (MEDIUM confidence)** — Detects visible text overlays in image corner regions (e.g. Chinese AI-generated content disclosure labels). Uses luminance analysis and text-line pattern detection to identify small text badges in corners. Runs alongside invisible watermark detection, images only.
0 commit comments