README.md 4.55 KB
Newer Older
jvoisin's avatar
jvoisin committed
1
```
atenart's avatar
atenart committed
2
 _____ _____ _____ ___
georg's avatar
georg committed
3
|     |  _  |_   _|_  |  Keep your data,
jvoisin's avatar
jvoisin committed
4 5
| | | |     | | | |  _|     trash your meta!
|_|_|_|__|__| |_| |___|
atenart's avatar
atenart committed
6

jvoisin's avatar
jvoisin committed
7 8
```

9 10 11
This software is currently in **beta**, please don't use it for anything
critical.

jvoisin's avatar
jvoisin committed
12 13
# Metadata and privacy

atenart's avatar
atenart committed
14 15 16 17
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.
jvoisin's avatar
jvoisin committed
18

atenart's avatar
atenart committed
19 20 21 22 23
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 on the web.
jvoisin's avatar
jvoisin committed
24 25 26

This is precisely the job of MAT2: getting rid, as much as possible, of
metadata.
jvoisin's avatar
jvoisin committed
27

jvoisin's avatar
jvoisin committed
28 29 30 31 32
# Requirements

- `python3-mutagen` for audio support
- `python3-gi-cairo` and `gir1.2-poppler-0.18` for PDF support
- `gir1.2-gdkpixbuf-2.0` for images support
33
- `FFmpeg`, optionally, for video support 
jvoisin's avatar
jvoisin committed
34 35
- `libimage-exiftool-perl` for everything else

36
Please note that MAT2 requires at least Python3.5, meaning that it
Sébastien Helleu's avatar
Sébastien Helleu committed
37
doesn't run on [Debian Jessie](https://packages.debian.org/jessie/python3).
jvoisin's avatar
jvoisin committed
38

atenart's avatar
atenart committed
39
# Running the test suite
jvoisin's avatar
jvoisin committed
40 41 42 43

```bash
$ python3 -m unittest discover -v
```
jvoisin's avatar
jvoisin committed
44

jvoisin's avatar
jvoisin committed
45
# How to use MAT2
jvoisin's avatar
jvoisin committed
46 47

```bash
jvoisin's avatar
jvoisin committed
48 49 50
usage: mat2 [-h] [-v] [-l] [--check-dependencies] [-V]
            [--unknown-members policy] [-s | -L]
            [files [files ...]]
jvoisin's avatar
jvoisin committed
51 52 53 54

Metadata anonymisation toolkit 2

positional arguments:
jvoisin's avatar
jvoisin committed
55
  files                 the files to process
jvoisin's avatar
jvoisin committed
56 57

optional arguments:
jvoisin's avatar
jvoisin committed
58 59 60 61 62 63 64 65 66 67 68
  -h, --help            show this help message and exit
  -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
  -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)
  -s, --show            list harmful metadata detectable by MAT2 without
                        removing them
  -L, --lightweight     remove SOME metadata
jvoisin's avatar
jvoisin committed
69 70
```

71 72 73 74
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".

75 76 77 78 79 80 81 82 83 84
# Notes about detecting metadata

While MAT2 is doing its very best to display metadata when the `--show` flag is
passed, it doesn't mean that a file is clean from any metadata if MAT2 doesn't
show any. There is no reliable way to detect every single possible metadata for
complex file formats.

This is why you shouldn't rely on metadata's presence to decide if your file must
be cleaned or not.

atenart's avatar
atenart committed
85
# Related software
jvoisin's avatar
jvoisin committed
86

87
- The first iteration of [MAT](https://mat.boum.org)
jvoisin's avatar
jvoisin committed
88 89
- [Exiftool](https://sno.phy.queensu.ca/~phil/exiftool/mat)
- [pdf-redact-tools](https://github.com/firstlookmedia/pdf-redact-tools), that
90
	tries to deal with *printer dots* too.
jvoisin's avatar
jvoisin committed
91 92
- [pdfparanoia](https://github.com/kanzure/pdfparanoia), that removes
	watermarks from PDF.
93 94
- [Scrambled Exif](https://f-droid.org/packages/com.jarsilio.android.scrambledeggsif/),
	an open-source Android application to remove metadata from pictures.
jvoisin's avatar
jvoisin committed
95

jvoisin's avatar
jvoisin committed
96 97
# Contact

jvoisin's avatar
jvoisin committed
98 99 100
If possible, use the [issues system](https://0xacab.org/jvoisin/mat2/issues)
or the [mailing list](https://mailman.boum.org/listinfo/mat-dev)
Should a more private contact be needed (eg. for reporting security issues),
101
you can email Julien (jvoisin) Voisin at `julien.voisin+mat2@dustri.org`,
jvoisin's avatar
jvoisin committed
102 103
using the gpg key `9FCDEE9E1A381F311EA62A7404D041E8171901CC`.

jvoisin's avatar
jvoisin committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
# License

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Copyright 2018 Julien (jvoisin) Voisin <julien.voisin+mat2@dustri.org>
jvoisin's avatar
jvoisin committed
120
Copyright 2016 Marie Rose for MAT2's logo
jvoisin's avatar
jvoisin committed
121 122 123

# Thanks

atenart's avatar
atenart committed
124
MAT2 wouldn't exist without:
jvoisin's avatar
jvoisin committed
125

jvoisin's avatar
jvoisin committed
126 127
- the [Google Summer of Code](https://summerofcode.withgoogle.com/);
- the fine people from [Tails]( https://tails.boum.org);
jvoisin's avatar
jvoisin committed
128 129 130 131
- friends

Many thanks to them!