Et JPEG-billede fra din telefon indeholder som regel GPS-koordinater, kameramodel og et præcist klokkeslæt for optagelsen, gemt direkte i EXIF-metadataene. Et PDF-dokument afslører ofte forfatterens navn, en intern netværkssti og hvilken software der redigerede filen sidst. De fleste brugere aner ikke, at de sender den slags oplysninger med, hver gang de deler en fil. MAT2, Metadata Anonymisation Toolkit 2, er et open source-værktøj bygget netop til at fjerne den slags spor, og det er stadig et af de mest brugte redskaber i privatlivsbevidste miljøer som Tails og Whonix i 2026. Denne guide viser dig, trin for trin, hvordan du installerer, bruger og automatiserer MAT2 på Linux og macOS, uanset om du er journalist, udvikler eller bare vil undgå at lække data ved et uheld.
Hvad er MAT2, og hvorfor betyder metadata noget for dit privatliv?
MAT2 blev skabt af udvikleren Julien “jvoisin” Voisin med støtte fra Tails-projektet, og værktøjet leveres i tre former: et Python-bibliotek kaldet libmat2, et kommandolinjeprogram kaldet mat2, og en servicemenu til KDE’s filhåndtering Dolphin. Licensen er LGPLv3, hvilket betyder at kildekoden er fuldt åben og kan revideres af enhver, der ønsker at verificere, hvad værktøjet faktisk gør ved dine filer.
Metadata er de oplysninger, der beskriver selve dataen: hvem der lavede filen, hvornår, med hvilket program, og ofte også hvor. Et digitalkamera gemmer automatisk GPS-position, blænde, ISO-tal og seriemønster for sensoren. Word og andre kontorprogrammer tilføjer forfatternavn, virksomhedsnavn og redigeringshistorik uden at spørge. For en almindelig bruger er det ubehageligt. For en journalist, en aktivist eller en whistleblower kan det være farligt, fordi metadata kan afsløre identitet eller lokation, selv når selve indholdet virker anonymt.
Hvis du hellere vil bruge et grafisk program frem for terminalen, findes der en separat GTK-app kaldet Metadata Cleaner, som bruger mat2 under motorhjelmen. Denne guide fokuserer dog på kommandolinjeværktøjet, fordi det giver dig fuld kontrol og kan scriptes og automatiseres, hvilket du får brug for senere i artiklen.
I praksis bruges MAT2 af en bred vifte af mennesker, der har brug for at dele filer uden at afsløre mere end de har tænkt sig. Journalister renser billeder og dokumenter fra kilder, før de publicerer dem, så en whistleblowers identitet ikke kan spores tilbage via en GPS-koordinat eller et gemt forfatternavn. Aktivister og NGO’er bruger det til at dele rapporter uden at lække, hvilken organisation eller hvilken medarbejder der har redigeret filen sidst. Almindelige brugere har simpelthen glæde af, at et feriebillede ikke afslører den præcise adresse på deres hjem, når det lander i en offentlig Facebook-gruppe. Fælles for dem alle er, at MAT2 gør den slags rensning til en kommando i stedet for en manuel og fejlbehæftet proces.
MAT2 i 2026: arkiveret på GitLab, men aktivt udviklet på GitHub
Her er en detalje, mange guider overser, og som er værd at kende, før du installerer noget. Det oprindelige hjemsted for projektet, 0xacab.org/jvoisin/mat2, er i dag markeret som arkiveret og skrivebeskyttet. Den seneste udgivelse dér er 0.13.5 fra januar 2025. Det betyder ikke, at projektet er dødt. Udviklingen er simpelthen flyttet til GitHub-spejlet på github.com/jvoisin/mat2, hvor arbejdet fortsætter i fuldt tempo.
Den nyeste stabile udgave er version 0.15.0, udgivet 4. august 2026. Den tilføjer understøttelse af AVIF- og JPEG XL-billeder, integration med filhåndteringen Nemo i Cinnamon-skrivebordsmiljøet, og fjerner ekstra APEv2- og ID3v1-tags fra mp3-, ogg- og flac-filer, som tidligere versioner overså. Før den kom version 0.14.0 den 23. oktober 2025, som blandt andet fjernede den indbyggede Bubblewrap-sandboxing af eksterne processer efter mere end seks år, en bevidst beslutning fra vedligeholderen om at forenkle koden på bekostning af et ekstra isolationslag. Tabellen nedenfor viser udviklingen i de seneste versioner.
| Version | Udgivelsesdato | Vigtigste ændringer |
|---|---|---|
| 0.15.0 | 4. august 2026 | AVIF- og JPEG XL-support, Nemo-integration, fjerner APEv2/ID3v1-tags, bevarer PDF-version ved rensning |
| 0.14.0 | 23. oktober 2025 | WebP-support, fjernet Bubblewrap-sandboxing, forbedret epub- og MSOffice-håndtering, Python 3.13/3.14-support |
| 0.13.5 | 9. januar 2025 | Bevarer orienteringsmetadata på jpeg/tiff, forbedret fejlhåndtering og logning |
| 0.13.4 | 2. august 2023 | Hærdet get_meta i archive.py mod varianter af CVE-2022-35410 |
| 0.13.0 | 6. juli 2022 | Rettede CVE-2022-35410 (vilkårlig fillæsning), tilføjede heic-support |
Konsekvensen for dig er praktisk: stol ikke på den arkiverede GitLab-side, hvis du leder efter den nyeste kode. Brug i stedet GitHub-spejlet, din distributions pakkehåndtering, eller pip, som beskrevet i installationstrinnene nedenfor. Da MAT2 er licenseret under LGPLv3, kan du desuden selv bygge værktøjet fra kildekoden på GitHub, hvis din organisation kræver, at al software gennemgår intern revision, før den tages i brug på arbejdsmaskiner.
Forudsætninger: dette skal du bruge, før du starter
MAT2 kræver mindst Python 3.11. Ifølge projektets egen dokumentation følger man som basislinje den aktuelle Debian oldstable, eller Debian stable hvis oldstable er udløbet. Det betyder i praksis, at hvis du kører en meget gammel Linux-distribution med en ældre Python-version, skal du enten opgradere systemet eller installere en nyere Python ved siden af via noget som pyenv, før MAT2 overhovedet kan starte.
Afhængig af hvilke filtyper du vil rense, skal du desuden bruge forskellige understøttende pakker. Lyd kræver python3-mutagen. PDF-filer kræver python3-gi-cairo og gir1.2-poppler-0.18. Billeder kræver gir1.2-gdkpixbuf-2.0, og SVG-filer kræver gir1.2-rsvg-2.0. FFmpeg er valgfrit og bruges kun til videofiler, mens libimage-exiftool-perl dækker en række øvrige formater. Du behøver ikke installere det hele manuelt, da pakkehåndteringerne løser de fleste afhængigheder automatisk, når du installerer mat2-pakken direkte, men det er nyttigt at kende listen, når noget senere fejler, eller hvis du installerer via pip i et isoleret virtuelt miljø, hvor systempakkerne ikke følger automatisk med.
| Styresystem | Pakkehåndtering | Kræver mindst |
|---|---|---|
| Debian / Ubuntu | apt | Python 3.11+ |
| Fedora | dnf | Python 3.11+ |
| Arch Linux | pacman | Python 3.11+ (rullende udgivelse) |
| macOS | Homebrew + pip3 | Python 3.11+, Xcode Command Line Tools |
Trin 1: Installer MAT2 på Debian og Ubuntu
MAT2 er pakket direkte til Debian stable, så på både Debian og Ubuntu kan du installere det med apt. Bemærk at distributionens pakke ofte ligger et par versioner bagud i forhold til GitHub, så hvis du specifikt vil have 0.15.0 med AVIF-støtte, kan du installere via pipx i stedet.
sudo apt update
sudo apt install mat2
# Alternativ: hent den nyeste version direkte fra PyPI
sudo apt install pipx
pipx install mat2
pipx ensurepath
Efter installationen kan du tjekke, hvilken version du har fået:
$ mat2 --version
mat2 0.15.0
Trin 2: Installer MAT2 på Fedora, Arch Linux og macOS
På Fedora installerer du mat2 via dnf, mens Arch Linux har pakken tilgængelig i de officielle repositories. På macOS findes der ingen officiel Homebrew-formel for selve mat2, så her installerer du først de underliggende afhængigheder med Homebrew og derefter selve værktøjet med pip3, sådan som projektets README selv anbefaler.
# Fedora
sudo dnf install mat2
# Arch Linux
sudo pacman -S mat2
# macOS (Homebrew + pip)
brew install exiftool cairo pygobject3 poppler gdk-pixbuf librsvg ffmpeg
pip3 install mat2
Hvis du bruger Tails eller Whonix, behøver du typisk slet ikke installere noget. Begge distributioner leverer mat2 forudinstalleret, netop fordi Tails-projektet historisk har støttet udviklingen af værktøjet økonomisk. Kør blot mat2 –version i en terminal for at bekræfte, hvilken udgave der følger med din version af live-systemet, da Tails opdaterer sine pakker efter sin egen udgivelsescyklus og derfor ikke altid har den absolut nyeste MAT2-version med det samme.
Trin 3: Bekræft installationen med –check-dependencies
Før du renser rigtige filer, bør du bekræfte at alle understøttende biblioteker faktisk er til stede. MAT2 har et indbygget flag til netop det formål.
$ mat2 --check-dependencies
+-------------------+------------+
| Extension | Available |
+-------------------+------------+
| audio (mutagen) | yes |
| images (gdk-pixbuf)| yes |
| pdf (poppler) | yes |
| svg (rsvg) | yes |
| video (ffmpeg) | yes |
| office (exiftool) | yes |
+-------------------+------------+
Står der “no” ud for en af rækkerne, mangler du den tilhørende systempakke, og MAT2 vil ikke kunne rense den filtype korrekt. Gå tilbage til forudsætningstabellen ovenfor, og installer den manglende afhængighed, før du fortsætter.
Trin 4: Se skjult metadata med –show, før du renser noget
Det er god praksis at se, hvad der faktisk gemmer sig i en fil, før du sletter det. Flaget -s, eller –show, lister det metadata MAT2 kan finde, uden at ændre filen.
$ mat2 --show ferie.jpg
[+] ferie.jpg
GPS GPSLatitude: 55.6761
GPS GPSLongitude: 12.5683
Image Make: Apple
Image Model: iPhone 15 Pro
EXIF DateTimeOriginal: 2026:07:14 16:32:09
Læg mærke til, at projektets egen dokumentation er ærlig omkring en vigtig begrænsning: hvis –show ikke finder noget, er det ingen garanti for, at filen er helt ren. Der findes ingen pålidelig måde at opdage alle mulige former for metadata i komplekse filformater, så du bør ikke bruge fraværet af synligt metadata som argument for at springe selve rensningen over.
Trin 5: Rens din første fil
Selve rensningen sker ved simpelthen at give filnavnet som argument. Vigtigt: MAT2 renser som standard ikke filen i selve originalen. Den opretter en ny, renset version ved siden af med endelsen .cleaned.
$ mat2 ferie.jpg
$ ls
ferie.jpg ferie.cleaned.jpg
Det er kun ferie.cleaned.jpg, du bør dele. Originalen ferie.jpg indeholder stadig alt det oprindelige metadata og ligger uændret på din disk. Hvis du hellere vil rense filen direkte uden at beholde originalen, findes flaget –inplace, men brug det med omtanke, da handlingen ikke kan fortrydes.
Trin 6: Batch-rens en hel mappe på én gang
I praksis har du sjældent kun én fil. MAT2 accepterer flere filnavne på én gang, og du kan kombinere det med standard Linux-værktøjer som find for at ramme en hel mappestruktur, inklusive undermapper.
# Rens alle jpg-filer i den aktuelle mappe
mat2 *.jpg
# Rens rekursivt gennem en hel mappe, inklusive undermapper
find ~/Billeder/Til-deling -type f \( -iname "*.jpg" -o -iname "*.png" -o -iname "*.pdf" \) -exec mat2 {} \;
Kør altid –show på en stikprøve af filerne bagefter, så du kan verificere at rensningen faktisk virkede, især hvis du behandler et stort antal filer på én gang. Har du tusindvis af filer, kan det være hurtigere at parallelisere med xargs frem for en simpel find-løkke, da MAT2 kun bruger én CPU-kerne ad gangen per fil.
# Kør rensning parallelt på flere CPU-kerner samtidig
find ~/Billeder/Til-deling -type f -iname "*.jpg" -print0 | xargs -0 -P 4 -n 1 mat2
Flaget -P 4 fortæller xargs at køre op til fire mat2-processer parallelt, hvilket kan halvere eller mere end halvere den samlede tid, hvis du renser store mængder billeder på en maskine med flere kerner.
Trin 7: Rens PDF- og Office-dokumenter korrekt
PDF-filer og Office-dokumenter som docx, xlsx og pptx bærer ofte langt mere følsomt metadata end billeder: forfatternavn, firmanavn, interne stinavne og redigeringstid. MAT2 håndterer dem på samme måde som billeder.
$ mat2 kvartalsrapport.pdf kontrakt.docx budget.xlsx
$ ls
kvartalsrapport.cleaned.pdf kontrakt.cleaned.docx budget.cleaned.xlsx
Fra version 0.15.0 bevarer MAT2 PDF-versionen af den rensede fil frem for at nedgradere den, og for Office-filer sorterer værktøjet nu kun attributterne i XML-strukturen i stedet for at omrokere hele elementer, hvilket forbedrer kompatibiliteten med Microsoft Office betydeligt sammenlignet med ældre versioner.
Understøttede filformater: hvad MAT2 rent faktisk kan rense
Før du bygger en arbejdsgang omkring MAT2, bør du vide præcis, hvilke filtyper værktøjet understøtter, og lige så vigtigt, hvilke det ikke gør. Formatlisten hentes direkte fra din installerede version med flaget -l, men her er den fulde liste, sådan som den ser ud i version 0.15.0 ifølge projektets egen dokumentation.
- Billeder: jpeg, png, gif, bmp, tiff, ppm, webp, avif, jxl (jpeg xl)
- Dokumenter: pdf, odt/ods/odp/odg/odc/odi (OpenDocument-familien), docx/xlsx/pptx (Office Open XML), epub
- Lyd: mp3, m4a, flac, wav, opus, ogg/oga, spx
- Video: mp4, avi, wmv (kræver FFmpeg som valgfri afhængighed)
- Arkiver og andet: zip, tar/tar.gz/tar.bz2/tar.xz, torrent, svg/svgz, css
$ mat2 --list
Supported formats:
avi, bmp, css, epub, flac, gif, jpeg, m4a, mp2, mp3,
mp4, odc, odf, odg, odi, odp, ods, odt, oga, ogg, opus,
pdf, png, ppm, pptx, xlsx, docx, spx, svg, svgz, tar,
tar.gz, tar.bz2, tar.xz, tiff, torrent, wav, webp, avif,
jxl, wmv, zip
Læg mærke til, hvad der ikke står på listen. MAT2 renser ikke RAW-billedformater som CR2 eller NEF, og det håndterer ikke HEIC-billeder fra iPhone fuldt ud, kun med begrænset understøttelse, som projektet selv beskriver som “upfront” om i changeloggen for 0.15.0. Skal du rense HEIC-billeder konsekvent, er det ofte enklere først at konvertere dem til jpeg eller png, og derefter køre MAT2 på resultatet.
Trin 8: Brug lightweight-tilstand, når du ikke må ødelægge filen
MAT2’s standardopførsel er aggressiv: for at fjerne så meget metadata som muligt kan værktøjet ændre selve dataen i filen. Et eksempel er PDF-filer, hvor teksten nogle gange ikke længere kan markeres eller kopieres efter en rensning, fordi PDF-strukturen er blevet gendannet fra bunden. Hvis det er et problem for dig, findes flaget -L, eller –lightweight.
$ mat2 -L kvartalsrapport.pdf
Lightweight-tilstand fjerner kun noget af metadataet til gengæld for en garanti om, at selve filens indhold forbliver intakt. Det er en afvejning: mindre aggressiv rensning, men bedre brugbarhed. Vælg standardtilstanden, når privatliv vejer tungest, og lightweight-tilstanden, når filens funktionalitet er vigtigere end at fjerne absolut alt.
Trin 9: Integrer MAT2 i din filhåndtering
Hvis du bruger KDE, installeres der automatisk en servicemenu til Dolphin, så du kan højreklikke på en fil og vælge at rense den uden at åbne en terminal. Fra version 0.15.0 er der tilføjet tilsvarende integration til Nemo, filhåndteringen i Cinnamon-skrivebordsmiljøet, som blandt andet bruges i Linux Mint. Bemærk at den oprindelige Nautilus-udvidelse til GNOME blev fjernet allerede i version 0.13.1, så GNOME-brugere må enten bruge terminalen eller installere den separate Metadata Cleaner-app, som har sin egen GTK-grænseflade og fungerer uafhængigt af filhåndteringen.
- KDE Plasma: Dolphin-servicemenu er inkluderet automatisk ved installation
- Cinnamon (Linux Mint): Nemo-integration tilføjet i version 0.15.0
- GNOME: ingen Nautilus-udvidelse siden version 0.13.1, brug Metadata Cleaner i stedet
- Alle skrivebordsmiljøer: Metadata Cleaner-appen giver en universel GUI oven på mat2
Dolphin-integrationen er særligt praktisk for brugere, der skifter mellem terminal og skrivebord i løbet af dagen. Højreklik på en eller flere markerede filer, vælg rens-indstillingen i konteksmenuen, og MAT2 kører i baggrunden uden at et terminalvindue nogensinde åbnes. Det samme gælder nu for Nemo-brugere efter tilføjelsen i version 0.15.0, hvilket lukker et hul, der har eksisteret siden Nautilus-udvidelsen blev fjernet i 2023. For virksomheder, der ruller Linux Mint ud til ikke-tekniske medarbejdere, betyder det, at metadatarensning kan indføres som en standardvane uden at kræve, at alle lærer kommandolinjen at kende.
Trin 10: Byg et automatiseret overvågningsscript (det færdige projekt)
Det mest nyttige, du kan gøre med MAT2, er at glemme, at det findes, ved at automatisere det. Her er et komplet bash-script, der overvåger en mappe, for eksempel ~/Til-deling, og automatisk renser enhver ny fil der lander i den, samt logger resultatet. Scriptet kræver inotify-tools, som du installerer med sudo apt install inotify-tools på Debian og Ubuntu, eller sudo dnf install inotify-tools på Fedora.
#!/usr/bin/env bash
# clean-before-share.sh
# Overvåger en mappe og renser automatisk nye filer med MAT2
WATCH_DIR="$HOME/Til-deling"
LOG_FILE="$HOME/.mat2-auto-clean.log"
mkdir -p "$WATCH_DIR"
echo "Overvåger $WATCH_DIR for nye filer..." | tee -a "$LOG_FILE"
inotifywait -m -e close_write --format '%w%f' "$WATCH_DIR" | while read -r NEWFILE
do
# Spring allerede rensede filer over, så vi ikke laver en uendelig løkke
if [[ "$NEWFILE" == *.cleaned.* ]]; then
continue
fi
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
if mat2 "$NEWFILE" 2>>"$LOG_FILE"; then
echo "$TIMESTAMP RENSET: $NEWFILE" >> "$LOG_FILE"
else
echo "$TIMESTAMP FEJLEDE: $NEWFILE" >> "$LOG_FILE"
fi
done
Gør scriptet eksekverbart og kør det i baggrunden, eller sæt det op som en systemd-service, hvis du vil have det til at starte automatisk ved login.
chmod +x clean-before-share.sh
./clean-before-share.sh &
# Se loggen løbende i et andet terminalvindue
tail -f ~/.mat2-auto-clean.log
Med det script kørende kan du droppe en fil i mappen fra din filhåndtering, og et par sekunder senere ligger der en renset .cleaned-version klar til at blive delt, uden at du selv skal huske det hver gang.
Trin 11: Kør MAT2 som webtjeneste med mat2-web
Hvis du arbejder i et team, hvor ikke alle er komfortable med en terminal, findes der et selvstændigt projekt kaldet mat2-web, som pakker MAT2 ind i et RESTful API og en simpel webgrænseflade. Der findes en offentlig demo-instans på mat2web.dev, men projektets egen dokumentation advarer om, at det stadig er en betaversion, og at man ikke bør stole på den til noget følsomt uden selv at hoste den.
Til selvhosting leverer projektet to Dockerfiles, en til udvikling og en til produktion. Sådan bygger og kører du produktionsudgaven:
git clone https://0xacab.org/jvoisin/mat2-web.git
cd mat2-web
docker build -f Dockerfile.production -t mat-web .
docker run -ti -p8181:8080 \
--read-only --tmpfs=/tmp --tmpfs=/run/uwsgi --tmpfs=/app/upload \
--security-opt=no-new-privileges \
--security-opt=seccomp=./config/seccomp.json \
mat-web:latest
Tjenesten kører nu lokalt på port 8181, med uploadmappen monteret som tmpfs, så filerne aldrig rammer disken permanent. Selve API-kaldet til at rense en fil direkte fra terminalen ser sådan ud:
curl -F 'file=@/sti/til/dokument.pdf' http://localhost:8181/api/remove_metadata --output dokument.cleaned.pdf
Bemærk at uploadede filer som standard slettes fra serveren efter 900 sekunder (15 minutter), styret af miljøvariablen MAT2_MAX_FILE_AGE_FOR_REMOVAL, og at der findes en officiel Ansible-rolle fra systemli-fællesskabet, som også sætter Bubblewrap-sandboxing og et krypteret dm-crypt-volumen op til uploadmappen for ekstra sikkerhed.
Sådan verificerer du, at rensningen faktisk virkede
Det er ikke nok at antage, at en kommando virkede, bare fordi terminalen ikke viste en fejl. Byg det til en vane at verificere resultatet, især før du sender noget følsomt videre. Den enkleste metode er at køre –show på den rensede fil og sammenligne med output fra originalen.
# Sammenlign metadata før og efter rensning
mat2 --show ferie.jpg > foer.txt
mat2 ferie.jpg
mat2 --show ferie.cleaned.jpg > efter.txt
diff foer.txt efter.txt
Et tomt diff-output betyder, at den rensede fil ikke rapporterer noget synligt metadata længere, mens den oprindelige fil stadig gør det. Vil du have en anden vinkel, kan du bruge exiftool som et uafhængigt andet sæt øjne, netop fordi det bruger en anden underliggende parser end MAT2 og derfor nogle gange fanger felter, MAT2 overså, eller omvendt.
exiftool ferie.cleaned.jpg
Hvis exiftool stadig viser GPS-koordinater eller et kameramodel-felt efter en MAT2-rensning, er det et tegn på, at filformatet gemmer metadata på en måde, MAT2’s parser i den aktuelle version ikke fangede fuldt ud. I så fald bør du rapportere det som en fejl i projektets issue-tracker på GitHub, eller som minimum undlade at dele filen, indtil du har fjernet resten manuelt.
Sikkerhedshistorik: CVE-2022-35410 og hvad det betyder for dig i dag
MAT2 har én kendt sårbarhed i sin historie: CVE-2022-35410, en sti-traversal-fejl med en CVSS-score på 7,5. Fejlen ramte specifikt oprensning af zip-arkiver: en fil navngivet med “../”-sekvenser i et zip-arkiv kunne narre MAT2 til at inkludere vilkårlige filer fra serverens filsystem i den “rensede” output-fil. Det var særligt alvorligt for mat2-web-installationer, hvor en angriber i teorien kunne lække konfigurationsfiler, herunder Flasks hemmelige nøgle, hvilket igen kunne føre til fjernkørsel af kode.
Fejlen blev rettet i version 0.13.0, udgivet i juli 2022, og hærdet yderligere i 0.13.4 mod nærtbeslægtede varianter af samme svaghedstype. Der er ikke offentliggjort nye CVE’er mod MAT2 siden da, hverken i 2025 eller 2026, men konklusionen er entydig: kør aldrig en version ældre end 0.13.0, og opdater helst til den nyeste udgave via GitHub-spejlet frem for den arkiverede GitLab-side.
Det er også værd at nævne, at mat2-web-projektet selv beskriver sin trusselsmodel eksplicit i dokumentationen. Systemet er designet, så en angriber i besiddelse af den samme fil, en bruger vil rense, ikke kan udføre et denial of service-angreb ved at anmode om filen igen og igen. Tilsvarende kan en angriber, der kun kender navnet på en fil, ikke gætte sig til download-linket, fordi stien afhænger af både indhold og et hemmeligt nøglepar, ikke kun filnavnet. Serveren bestræber sig desuden på at slette uploadede filer så hurtigt som muligt efter behandling. Den slags gennemsigtighed om, hvad et værktøj rent faktisk beskytter mod, og hvad det ikke gør, er sjælden i privatlivsbranchen, og det er en af grundene til at MAT2 nyder tillid i miljøer, der stiller høje krav til dokumenteret sikkerhed.
Almindelige faldgruber, du skal undgå
Selv et simpelt værktøj som MAT2 kan bruges forkert, og de fleste fejl handler ikke om værktøjet selv, men om forkerte antagelser hos brugeren. Her er de faldgruber, der går igen, ofte fordi folk forveksler “renset” med “anonymt” eller glemmer, at et privatlivsværktøj kun er så godt som den arbejdsgang, det indgår i.
- At dele originalen ved en fejl. MAT2 sletter ikke originalfilen. Hvis du deler ferie.jpg i stedet for ferie.cleaned.jpg, har du delt alt metadataet alligevel. Det lyder banalt, men det er langt den mest almindelige fejl, fordi de to filer typisk ligger side om side i samme mappe og kan forveksles ved et hurtigt overblik.
- At stole blindt på –show. Fraværet af synligt metadata i –show-output er ikke en garanti for, at filen er ren. Ukendte eller usædvanlige metadatafelter kan gemme sig i komplekse formater, og udviklerne selv fraråder at bruge –show som eneste kontrol.
- At bruge en forældet distributionspakke. Debian- og Ubuntu-pakkerne kan ligge flere måneder bagud i forhold til GitHub, og vil derfor mangle understøttelse for nyere formater som AVIF og JPEG XL, eller endda stadig indeholde ældre og mindre robuste versioner af PDF-håndteringen.
- At antage at metadata er det eneste spor. MAT2 fjerner ikke vandmærker, steganografi eller det unikke støjmønster fra en kameras billedsensor, det såkaldte “sensor fingerprint”, som forensiske analytikere kan bruge til at matche billeder til en specifik enhed selv efter al metadata er fjernet. Rensning af metadata er kun ét lag i en bredere anonymiseringsstrategi.
- At bruge –inplace uden en sikkerhedskopi. Flaget overskriver filen permanent uden mulighed for fortrydelse. Test altid uden –inplace først, og gem originalen et sikkert sted, hvis du senere får brug for den, uden metadata.
- At glemme printerens usynlige vandmærker. Mange moderne printere indlejrer usynlige mønstre af gule prikker, der koder serienummer og udskriftstidspunkt. MAT2 kan ikke fjerne den type spor fra et fysisk udskrevet dokument, fordi mønsteret sidder i selve papiret, ikke i en digital fil.
- At rense filen efter den allerede er delt. Rensning skal ske, før filen forlader din maskine. Har du allerede sendt originalen via mail eller uploadet den til en tjeneste, hjælper det ikke bagefter at rense din lokale kopi, modtageren sidder stadig med den urensede version.
Fejlfinding: 8 problemer og deres løsninger
Her er de mest almindelige problemer, du kan støde på, og hvordan du løser dem, samlet fra projektets egen dokumentation og gængse fejlmønstre i community-fora.
- “command not found: mat2”. Hvis du installerede via pipx, mangler pipx ensurepath sandsynligvis at være kørt, eller din terminal skal genstartes for at opdatere PATH. Kør echo $PATH og bekræft, at ~/.local/bin indgår i stien.
- –check-dependencies viser “no” for pdf. Du mangler python3-gi-cairo og gir1.2-poppler-0.18. Installer dem via apt, dnf eller pacman afhængig af din distribution, og kør derefter –check-dependencies igen for at bekræfte fejlen er løst.
- Filen bliver ikke renset, kun kopieret. Nogle simple filformater indeholder ikke metadata, som MAT2 kan fjerne, og outputfilen bliver derfor identisk med originalen bortset fra navnet. Det er ikke en fejl i MAT2, men en egenskab ved filformatet.
- PDF-tekst kan ikke længere markeres efter rensning. Dette er forventet standardopførsel, fordi MAT2 genopbygger PDF-strukturen fra bunden for at fjerne så meget metadata som muligt. Brug -L (lightweight-tilstand) hvis du skal bevare tekstens markerbarhed.
- “Unknown member” fejl ved rensning af zip- eller docx-filer. Brug flaget –unknown-members med værdien omit for at springe uidentificerede filer i arkivet over i stedet for at afbryde hele processen, eller keep hvis du hellere vil bevare dem urørte.
- mat2-web returnerer 413 Payload Too Large. Standardgrænsen er 32 MB, styret af MAX_CONTENT_LENGTH i config.py. Øg værdien i din egen config.py-fil, hvis du selv hoster tjenesten, men husk at en høj grænse øger risikoen for at serveren løber tør for diskplads under spidsbelastning.
- Homebrew-installationen på macOS fejler ved PDF-håndtering. Kontrollér at både poppler og pygobject3 er installeret, og at Xcode Command Line Tools er opdaterede, da cairo-bindingerne ellers ikke kompilerer korrekt. Kør xcode-select –install, hvis kommandolinjeværktøjerne mangler helt.
- Dolphin-servicemenuen mangler efter installation. Genstart Dolphin, eller kør kquitapp5 dolphin && dolphin fra terminalen, så KDE genindlæser sine servicemenuer. Servicemenuen kræver desuden, at mat2 blev installeret via en systempakke og ikke kun via pip i et isoleret virtuelt miljø.
- inotifywait findes ikke, når automatiseringsscriptet fra trin 10 skal køre. Pakken hedder inotify-tools på Debian, Ubuntu og Fedora, men blot inotify-tools i Arch Linux’s officielle repositories. Installer den med din pakkehåndtering, før du kører scriptet.
Avancerede tips og MAT2 sammenlignet med alternativer
Når du er tryg ved det grundlæggende, er der et par ting, der løfter din arbejdsgang yderligere. Brug flaget -l, eller –list, til at se den fulde liste over understøttede filformater direkte fra din installerede version, da listen ændrer sig mellem udgivelser. Kombiner MAT2 med et shell-alias, så du aldrig glemmer at rense filer før upload, for eksempel ved at tilføje alias rens=’mat2′ til din .bashrc. Overvej også at køre –check-dependencies som en del af et opstartsscript på en server, så manglende afhængigheder opdages, før en bruger rammer fejlen i produktion.
Et andet nyttigt trick er at kombinere MAT2 med git, hvis du arbejder i et repository, der indeholder billeder eller dokumenter. Sæt et pre-commit hook op, der automatisk kører mat2 på alle nye filer under images/ eller docs/, så metadata aldrig når at blive committet til historikken i første omgang. Det er langt lettere at forhindre metadata i at komme ind end at fjerne det fra en git-historik bagefter, fordi gamle commits stadig indeholder de urensede versioner, selv efter du har rettet den nyeste fil.
Hvis du deler filer regelmæssigt fra en server, kan du overveje at sætte MAT2 op som et filter i din uploadpipeline i stedet for at stole på, at brugere selv husker at rense filerne manuelt. Kombinerer du det automatiserede overvågningsscript fra trin 10 med en cron-styret oprydning, der sletter urensede originaler efter et par dage, reducerer du risikoen for, at en gammel fil med fuldt metadata ved et uheld bliver delt videre måneder senere.
MAT2 er ikke det eneste værktøj på markedet, og det er ikke altid det rigtige valg. ExifTool understøtter langt flere filformater og opdateres hyppigere, men fjerner metadata mere selektivt frem for MAT2’s konverteringsbaserede tilgang, hvor filer ofte genopbygges fra bunden for at minimere risikoen for overset metadata. Til rent grafisk brug er Metadata Cleaner et solidt valg, mens Dangerzone går et skridt videre og konverterer hele dokumenter til harmløse billeder for at fjerne enhver form for indlejret kode, ikke kun metadata.
| Værktøj | Platform | Grænseflade | Tilgang |
|---|---|---|---|
| MAT2 | Linux, macOS | CLI + Dolphin/Nemo | Konverteringsbaseret, fjerner aggressivt |
| ExifTool | Linux, macOS, Windows | CLI | Selektiv redigering af metadatafelter |
| Metadata Cleaner | Linux | GTK GUI | Bruger MAT2 under motorhjelmen |
| Dangerzone | Linux, macOS, Windows | GUI | Konverterer dokumenter til billeder |
Vil du læse mere om, hvordan metadata i praksis kan afsløre din placering, har vi tidligere skrevet om, hvordan AI-værktøjer kan udlede geolokation fra billeder delt via Signal, selv når afsenderen troede sig anonym. Kombinerer du MAT2 med et hærdet system som Whonix eller ruter din trafik gennem Tor Browser, får du et markant stærkere privatlivslag end at rense filer alene. Metadata er kun én af flere kanaler, hvor identitet kan lække, og et fuldt privatlivssetup bør altid tænke rensning af filer, netværkstrafik og selve enheden som tre separate, men samarbejdende lag.
Ofte stillede spørgsmål
Sletter MAT2 min originalfil?
Nej. Som standard opretter MAT2 en ny fil med endelsen .cleaned og lader originalen ligge uændret. Kun med flaget –inplace overskrives filen direkte, og det kan ikke fortrydes.
Kan jeg bruge MAT2 på Windows?
Ikke direkte. MAT2 er bygget til Linux og macOS. Windows-brugere henvises typisk til ExifTool eller til at køre MAT2 gennem WSL (Windows Subsystem for Linux).
Er MAT2 stadig sikkert at bruge, når GitLab-siden er arkiveret?
Ja. Den arkiverede status gælder kun den gamle GitLab-repository. Udviklingen fortsætter aktivt på GitHub, hvor version 0.15.0 blev udgivet i august 2026, og der er ikke fundet nye sårbarheder siden CVE-2022-35410 blev rettet i 2022.
Fjerner MAT2 alt metadata fra en fil?
Ikke nødvendigvis alt. Projektets egen dokumentation understreger, at der ikke findes en pålidelig metode til at opdage samtlige former for metadata i komplekse filformater. Brug –show som en indikation, ikke som en garanti.
Hvad er forskellen på standardtilstand og lightweight-tilstand?
Standardtilstanden fjerner mest muligt metadata, men kan ændre filens data undervejs, for eksempel gøre PDF-tekst ikke-markerbar. Lightweight-tilstanden (-L) bevarer filens funktionalitet bedre, men fjerner mindre metadata.
Kan MAT2 rense zip-arkiver sikkert i dag?
Ja. Den historiske sårbarhed CVE-2022-35410 i zip-håndteringen blev rettet i version 0.13.0 fra 2022 og yderligere hærdet i 0.13.4. Sørg blot for at køre en version fra 0.13.0 eller nyere.
Skal jeg bruge MAT2 eller ExifTool?
Det afhænger af behovet. MAT2 er enklere at bruge korrekt, fordi det fjerner aggressivt uden mange valgmuligheder, og du behøver ikke selv holde styr på hvilke felter der skal slettes. ExifTool understøtter til gengæld flere formater og giver finkornet kontrol over præcis hvilke metadatafelter der fjernes eller bevares, men det kræver mere viden om metadatastandarder for at bruge sikkert. Mange privatlivsbevidste brugere ender med at installere begge dele og vælge værktøj afhængigt af opgaven.
Er den offentlige demo på mat2web.dev sikker at bruge til følsomme filer?
Nej. Projektets egen dokumentation kalder tjenesten en betaversion og fraråder eksplicit, at man uploader noget følsomt til den offentlige demo-instans. Til følsomt materiale bør du enten bruge kommandolinjeværktøjet lokalt eller selv hoste mat2-web via Docker.
Skal en dansk virksomhed rense metadata fra dokumenter, før de sendes til en myndighed eller offentliggøres?
Det er ikke et lovkrav i sig selv, men det er god praksis under GDPR’s princip om dataminimering. Et Word-dokument, der indeholder en medarbejders fulde navn, interne stinavne eller sporbare redigeringshistorik i metadataene, kan i praksis afsløre flere persondata end selve dokumentets synlige indhold tilsigter. Mange offentlige myndigheder og advokatkontorer i Norden har derfor indført intern praksis om at rense dokumenter for metadata, før de sendes ud af huset, og MAT2 er et af de værktøjer, der kan indgå i den slags rutine uden licensomkostninger.




