diff options
| author | jvoisin | 2018-04-01 15:36:45 +0200 |
|---|---|---|
| committer | jvoisin | 2018-04-01 15:36:45 +0200 |
| commit | 7992cd0d51c3b858f36e74abd76ceef986b51df8 (patch) | |
| tree | aecc6a3501199cf2418f8d820432fe4c50d17b9f /doc/implementation_notes.md | |
| parent | 9e7a4bd217c314a0a86bf9e794f0fda4392a19d9 (diff) | |
Add some documentation
Diffstat (limited to 'doc/implementation_notes.md')
| -rw-r--r-- | doc/implementation_notes.md | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/implementation_notes.md b/doc/implementation_notes.md new file mode 100644 index 0000000..bc83671 --- /dev/null +++ b/doc/implementation_notes.md | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | Implementation notes | ||
| 2 | ==================== | ||
| 3 | |||
| 4 | Symlink attacks | ||
| 5 | --------------- | ||
| 6 | |||
| 7 | MAT2 output predictable filenames (like yourfile.jpg.cleaned). | ||
| 8 | This may lead to symlink attack. Please check if you OS prevent | ||
| 9 | against them | ||
| 10 | |||
| 11 | Archives handling | ||
| 12 | ----------------- | ||
| 13 | |||
| 14 | MAT2 doesn't support archives yet, because we haven't found an usable way to ask the user | ||
| 15 | what to do when a non-supported files are encountered. | ||
| 16 | |||
| 17 | PDF handling | ||
| 18 | ------------ | ||
| 19 | |||
| 20 | MAT was doing some kind of rendering for PDF files, on a cairo surface, then | ||
| 21 | printed it to a file. This kept the text selectable, but unfortunately, it | ||
| 22 | didn't remove any *deep metadata*, like the ones in embedded pictures. This was | ||
| 23 | on of the reason MAT was abandoned: the absence of satisfying solution to | ||
| 24 | handle PDF. But apparently, people are ok with [pdf redact | ||
| 25 | tools](https://github.com/firstlookmedia/pdf-redact-tools), that simply | ||
| 26 | transform the PDF into images. So this is what's MAT2 is doing too. | ||
| 27 | |||
| 28 | Images handling | ||
| 29 | --------------- | ||
| 30 | |||
| 31 | When possible, images are handled like PDF: rendered on a surface, then saved | ||
| 32 | to the filesystem. This ensures that every metadata is removed. | ||
| 33 | |||
