-
Julien (jvoisin) Voisin authoredJulien (jvoisin) Voisin authored
_____ _____ _____ ___
| | _ |_ _|_ | Keep your data,
| | | | |_| | | | | _| trash your meta!
|_|_|_|_| |_| |_| |___|
Metadata and privacy
Metadata consist of information that characterizes data. Metadata are used to provide documentation for data products. In essence, metadata answer who, what, when, where, why, and how about every facet of the data that are being documented.
Metadata within a file can tell a lot about you. Cameras record data about when a picture was taken and what camera was used. Office documents like PDF or Office automatically adds author and company information to documents and spreadsheets. Maybe you don't want to disclose those information.
This is precisely the job of mat2: getting rid, as much as possible, of metadata.
mat2 provides:
- a library called
libmat2
; - a command line tool called
mat2
, - a service menu for Dolphin, KDE's default file manager
If you prefer a regular graphical user interface, you might be interested in
Metadata Cleaner, which is using
mat2
under the hood.
Requirements
-
python3-mutagen
for audio support -
python3-gi-cairo
andgir1.2-poppler-0.18
for PDF support -
gir1.2-gdkpixbuf-2.0
for images support -
gir1.2-rsvg-2.0
for svg support -
FFmpeg
, optionally, for video support -
libimage-exiftool-perl
for everything else -
bubblewrap
, optionally, for sandboxing
Please note that mat2 requires at least Python3.5.
Homebrew
Requirements setup on macOS (OS X) usingbrew install exiftool cairo pygobject3 poppler gdk-pixbuf librsvg ffmpeg
Running the test suite
$ python3 -m unittest discover -v
And if you want to see the coverage:
$ python3-coverage run --branch -m unittest discover -s tests/
$ python3-coverage report --include -m --include /libmat2/*'
How to use mat2
usage: mat2 [-h] [-V] [--unknown-members policy] [--inplace] [--no-sandbox]
[-v] [-l] [--check-dependencies] [-L | -s]
[files [files ...]]
Metadata anonymisation toolkit 2
positional arguments:
files the files to process
optional arguments:
-h, --help show this help message and exit
-V, --verbose show more verbose status information
--unknown-members policy
how to handle unknown members of archive-style files
(policy should be one of: abort, omit, keep) [Default:
abort]
--inplace clean in place, without backup
--no-sandbox Disable bubblewrap's sandboxing
-v, --version show program's version number and exit
-l, --list list all supported fileformats
--check-dependencies check if mat2 has all the dependencies it needs
-L, --lightweight remove SOME metadata
-s, --show list harmful metadata detectable by mat2 without
removing them
Note that mat2 will not clean files in-place, but will produce, for example, with a file named "myfile.png" a cleaned version named "myfile.cleaned.png".