
Hör auf, nackte Dokumente zu versenden. Firemark versieht Bilder & PDFs mit Wasserzeichen in einem einzigen Befehl. Optimiert, um die Entfernung von KI-Wasserzeichen zu bekämpfen. Geschrieben in Rust.
Ein schnelles, als einzelne Binärdatei ausgeliefertes Wasserzeichen-Werkzeug für Bilder und PDFs. Entwickelt in Rust.
Jedes Jahr werden Millionen Menschen Opfer von Identitätsbetrug, der mit einem einfachen Dokumentenaustausch beginnt. Ein häufiges Szenario: Sie suchen eine Wohnung zur Miete. Der Vermieter – oder jemand, der sich als solcher ausgibt – bittet um eine Kopie Ihres Ausweises, einer Gehaltsabrechnung, eines Steuerbescheids. Sie senden sie unmarkiert. Der „Vermieter“ verschwindet, und Ihre Dokumente werden nun verwendet, um Bankkonten zu eröffnen, Kredite aufzunehmen oder Identitäten in Ihrem Namen zu fälschen.
Das Versehen jedes Dokuments, das Sie versenden, mit einem Wasserzeichen ist der wirksamste Schutz. Eine sichtbare Überlagerung, die „Gesendet an XYZ-Behörde, März 2026 – nur für Mietwohnungsbewerbung“ lautet, macht das Dokument für jeden anderen Zweck unbrauchbar. Falls es durchsickert, wissen Sie genau, woher es stammt.
firemark macht dies mühelos: ein Befehl, jedes Bild oder PDF, 17 visuelle Stile, kryptografische Filigranmuster, die Bearbeitungen widerstehen, und Stapelverarbeitung für ganze Ordner.
Vorher und nachher – ein Befehl, das Dokument ist nun nachverfolgbar und manipulationssicher.
Vorgefertigte Binärdatei (Linux & macOS, x86_64 & arm64) – lädt die neueste Version in ~/.local/bin herunter:
Windows-Binärdateien sind jedem Release beigefügt.
Von crates.io:
cargo install firemark
Aus dem Quellcode:
git clone https://github.com/Vitruves/firemark.git
cd firemark
cargo install --path .
Erzeugt eine einzelne optimierte Binärdatei (~5 MB).
# Ein einzelnes Bild mit Wasserzeichen versehen
firemark photo_id.png -m "Wohnungsmiete – SCI Dupont – März 2026"
# Ein PDF mit Wasserzeichen versehen
firemark tax_notice.pdf -m "VERTRAULICH" -s "Nicht weitergeben"
# Einen gesamten Ordner rekursiv bearbeiten
firemark ./documents/ -R -m "Gesendet an Agentur X" -t stamp
# Vorschau anzeigen, ohne Dateien zu schreiben
firemark id_card.jpg -m "Entwurf" -n
Die Ausgabe wird standardmäßig neben der Eingabe als {name}-watermarked.{ext} gespeichert.
Verwenden Sie -o, um einen expliziten Ausgabepfad festzulegen, oder -S für ein benutzerdefiniertes Suffix.
firemark doc.pdf -t stamp -m "VERTRAULICH" --border --color red
firemark überlagert kryptografische Filigranmuster, die von Sicherheitsmerkmalen von Banknoten inspiriert sind. Diese feinen geometrischen Muster sind mit Bildbearbeitungsprogrammen äußerst schwer zu entfernen.
firemark id.png -m "Mietbewerbung" --filigrane moire
firemark id.png -m "Mietbewerbung" --filigrane none # deaktivieren
## KI-Entfernungshärtung
Jede Darstellung ist standardmäßig nicht deterministisch. firemark wendet eine
universelle Nachbearbeitungsstörung an (Alpha-Jitter, Subpixel-Farbrauschen,
Rand-Mikropunkte, vereinzelte Geisterpixel) sowie eine
renderer-spezifische Randomisierung, sodass keine zwei Ausgaben pixelidentisch
sind – selbst bei identischen Einstellungen. Dies macht es KI-Vision-Modellen
unmöglich, ein vorhersagbares Muster zum Subtrahieren zu lernen.
Darüber hinaus werden standardmäßig adversariale Prompt-Injection-Streifen
eingebettet, um KI-Wasserzeichen-Entfernungswerkzeuge zu verwirren. Mit
`--no-anti-ai` deaktivieren, falls Sie den sichtbaren Prompt-Text nicht
wünschen:
```bash
firemark doc.png -m "VERTRAULICH" --no-anti-ai
-m, --main-text Primärer Wasserzeichentext
-s, --secondary-text Sekundäre Textzeile
-t, --type Wasserzeichenstil (siehe Tabelle oben)
-o, --output Ausgabedateipfad
-S, --suffix Benutzerdefiniertes Ausgabesuffix (Standard: "watermarked")
-c, --color Farbe – Name oder #RRGGBB (Standard: blau)
-O, --opacity Deckkraft 0,0–1,0 (Standard: 0,5)
-r, --rotation Winkel in Grad (Standard: -45)
-p, --position center, top-left, top-right, bottom-left, bottom-right, tile
-f, --font Schriftartname oder Pfad zu .ttf/.otf
-I, --image Ein Bild als Wasserzeichen überlagern
--qr-data Einen QR-Code mit benutzerdefinierten Daten einbetten
--qr-code-position QR-Code-Platzierung (Standard: Mitte)
--qr-code-size QR-Code-Größe in Pixeln (Standard: auto)
--border Einen Rand um das Wasserzeichen zeichnen
--shadow Schlagschatten hinzufügen
--filigrane Sicherheitsfiligran-Stil (Standard: guilloche)
--no-anti-ai Adversarial Prompt Injection deaktivieren (standardmäßig aktiviert)
Die vollständige Liste mit über 70 Flags finden Sie in der CLI.md.
--pages Seiten, die mit Wasserzeichen versehen werden sollen (z. B. 1,3-5 oder "alle")
--skip-pages Zu überspringende Seiten
--behind Wasserzeichen hinter dem Inhalt platzieren
--no-flatten Ebenen getrennt lassen (standardmäßig reduziert)
--dpi Rendering-Auflösung (Standard: 150)
# Alle Bilder und PDFs in einem Ordner verarbeiten
firemark ./inbox/ -m "INTERN" -t tile
# Rekursiv, 8 Threads, benutzerdefiniertes Suffix
firemark ./docs/ -R -j 8 -m "Entwurf" -S draft
# Trockenlauf – auflisten, was verarbeitet würde
firemark ./docs/ -R -m "Entwurf" -n
Bereits mit Wasserzeichen versehene Dateien (die dem Suffix entsprechen) werden bei erneuten Ausführungen automatisch übersprungen.
Optionen in einer TOML-Datei speichern, um wiederholte Flags zu vermeiden. Siehe
examples/config/firemark.toml für ein
vollständiges Beispiel mit zwei Voreinstellungen: ultra-sicher (dichte
Kachelung, volles Filigran, QR-Rückverfolgbarkeit, Metadatenentfernung) und
leicht (einfacher Diagonaltext, keine Extras).
# Globale Standardeinstellungen
main_text = "VERTRAULICH"
secondary_text = "{author} — {date}"
watermark_type = "diagonal"
color = "#1a3c6e"
opacity = 0.45
font_weight = "bold"
filigrane = "guilloche"
border = true
[preset.ultra-secure]
main_text = "VERTRAULICH — {author}"
watermark_type = "tile"
color = "#CC0000"
opacity = 0.6
filigrane = "full"
anti_ai = true
qr_data = "firemark://{author}/{timestamp}/{uuid}"
strip_metadata = true
[preset.light]
main_text = "KOPIE"
watermark_type = "diagonal"
color = "#555555"
opacity = 0.3
filigrane = "none"
anti_ai = false
firemark doc.pdf --config firemark.toml
firemark doc.pdf --config firemark.toml --preset ultra-secure
firemark doc.pdf --config firemark.toml --preset light
firemark doc.pdf --save-preset mypreset # aktuelle Flags speichern
firemark --list-presets # verfügbare Voreinstellungen anzeigen
Die formatübergreifende Konvertierung wird unterstützt (z. B. firemark photo.webp -o out.pdf).
MIT
curl -fsSL https://raw.githubusercontent.com/Vitruves/firemark/main/install.sh | sh
| Flag | Stil | Beschreibung |
|---|
diagonal | Diagonalraster | Vollseitiger sich wiederholender Diagonaltext (Standard) |
stamp | Gummistempel | Großer zentrierter Stempel mit doppeltem Rand |
stencil | Schablone | Vollbreite militärische Schablonenschrift |
typewriter | Schreibmaschine | Monospace-Schreibmaschinentext |
handwritten | Signatur | Handschriftähnliche Signatur mit Unterstreichung |
redacted | Schwärzung | Vollbreite schwarze Schwärzungsbalken |
badge | Abzeichen | Sicherheitsabzeichen/Emblem |
ribbon | Band | Diagonales Eckband-Banner |
seal | Siegel | Runder notarielles Siegel |
frame | Rahmen | Vollseitiger dekorativer Rand |
tile | Kacheln | Dichtes gleichmäßiges Textraster |
mosaic | Mosaik | Zufällig verteilter Text |
weave | Geflecht | Ineinandergreifendes diagonales Gewebe |
ghost | Geist | Extrem dezenter geprägter Text |
watercolor | Aquarell | Weicher, verschwommener Wasch-Effekt |
noise | Rauschen | Aufgerauter Text mit Pixelrauschen |
halftone | Halbton | Text als Halbtonpunktraster |
| Stil | Beschreibung |
|---|
guilloche | Sinusförmige Wellenhüllkurvenbänder (Standard) |
rosette | Spirograf + Eckrosenkurven |
crosshatch | Feines diagonales Diamantgitter |
border | Wellenförmiger, verschachtelter Sicherheitsrand |
lissajous | Parametrische Lissajous-Figuren |
moire | Konzentrische Kreis-Interferenz |
spiral | Archimedische Spirale (Wirbel) |
mesh | Sechseckiges Wabengitter |
plume | Fließende, federartige Kurven über die Oberfläche verteilt |
constellation | Sternknoten, verbunden durch ein feines geometrisches Netz |
ripple | Überlappende elliptische Wellenfronten von zufälligen Ursprüngen |
full | Alle Muster kombiniert |
none | Filigran deaktivieren |
| Format | Eingabe | Ausgabe |
|---|
| PNG | ja | ja |
| JPEG | ja | ja |
| ja | ja | |
| WebP | ja | ja |
| TIFF | ja | ja |