
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.
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.
| 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 |
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.
| 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 |
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
| Format | Eingabe | Ausgabe |
|---|---|---|
| PNG | ja | ja |
| JPEG | ja | ja |
| ja | ja | |
| WebP | ja | ja |
| TIFF | ja | ja |
Die formatübergreifende Konvertierung wird unterstützt (z. B. firemark photo.webp -o out.pdf).
MIT