Siegfried ist ein quelloffener Kommandozeilen-Identifier für Dateiformate, geschrieben in Go von Richard Lehane (NSW State Archives). Er liest die PRONOM-Signaturdatenbank und liefert für eine Datei oder einen ganzen Verzeichnisbaum die zugehörigen PUIDs.
Im Vergleich zu DROID ist Siegfried meist deutlich schneller, eignet sich gut für Pipelines (JSON/CSV/YAML-Output) und ist als Single-Binary einfach zu deployen — typisch für Ingest-Schritte und Pre-Ingest-Checks in OAIS-konformen Workflows.
Installation
# macOS
brew install richardlehane/digipres/siegfried
# Windows: Chocolatey, Linux: Releases auf GitHub
Grundbenutzung
sf <pfad> # Identifikation einer Datei oder eines Verzeichnisses
sf -log p,w <pfad> # Logging: progress, warnings
sf -multi 32 <pfad> # 32 Dateien parallel verarbeiten
Output-Formate
sf -json <pfad> # JSON
sf -csv <pfad> # CSV
sf -droid <pfad> # DROID-kompatibles CSV (für Reporting-Tools)
sf -yaml <pfad> # YAML (Default)
Signaturen wählen / aktualisieren
Siegfried nutzt standardmässig die PRONOM-Signaturen, kann aber zusätzliche Quellen einbinden:
sf -update # Standardsignaturen aktualisieren
sf -update loc # zusätzliche Library-of-Congress-Signaturen
sf -update wikidata # Wikidata-Signaturen
sf -sig <name>.sig <pfad> # eigene oder kombinierte Signatur-Datei nutzen
Roy — eigene Signaturen bauen
roy (mit Siegfried mitgeliefert) erstellt Signaturdateien aus PRONOM-Reports oder erweitert sie mit eigenen Definitionen:
roy build -name custom -extend custom-additions.xml custom.sig
Typische Pipeline
# Vor dem Ingest: alle Dateien identifizieren und als JSON für Anton/Dimag aufbereiten
sf -json -multi 16 ./SIP/content > sip-formats.json
# In Pre-Ingest-Prüfung: nur Risiko-Formate (proprietär, undokumentiert) extrahieren
sf -json ./content | jq '[.files[] | select(.matches[].warning != "")]'