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