{"ok":true,"repo":{"id":90001,"full_name":"dfd-tud/deda","url":"https://github.com/dfd-tud/deda","description":null,"language":"Python","topics":["printer-forensic","tracking-dots","yellow-dots"],"stars":2617,"stars_delta":26,"forks":119,"first_seen":"2026-10-05T22:50:40.745623Z","last_seen":"2026-10-06T05:35:39.835571Z","mentions":2,"platforms":["hn","mastodon"],"score":0.0,"summary":"DEDA is a Python toolkit that extracts and decodes the tiny yellow tracking dots that colour laser printers embed in printouts, which encode info like the printer's serial number. It includes a GUI and CLI tools to parse scans, compare prints, analyse unknown dot patterns, and generate anonymisation masks to print documents without tracking dots.","why":"Renewed attention on Hacker News around the privacy implications of printer tracking dots and this toolkit for decoding and defeating them","audience":"Privacy researchers, forensic analysts, and anyone concerned about printers revealing their identity on printed documents","tags":["privacy","forensics","printers","anonymisation","python","security"],"summarized_at":"2026-10-05T23:05:46.731128Z","summary_model":"glm-5.3-flash","fetched_at":"2026-10-06T05:36:36.221074Z","meta":{"license":"GPL-3.0","archived":false,"homepage":"https://dfd.inf.tu-dresden.de","first_stars":2591},"pushed_at":"2024-09-15T13:38:37Z","created_at":"2018-02-07T16:29:30Z","watchers":49,"open_issues":5,"mentions_list":[{"platform":"hn","url":"https://news.ycombinator.com/item?id=49953195","title":"DEDA – Tracking Dots Extraction, Decoding and Anonymisation Toolkit","seen_at":"2026-10-06T05:35:39.836036Z"},{"platform":"mastodon","url":"https://github.com/dfd-tud/deda","title":"DEDA - Tracking Dots Extraction, Decoding and Anonymisation Toolkit https://github.com/dfd-tud/deda # HackerNews # Tech","seen_at":"2026-10-06T01:55:16.148049Z"}],"snapshots":[{"captured_at":"2026-10-05T22:50:42.153108Z","stars":2591,"forks":119},{"captured_at":"2026-10-05T23:05:42.484561Z","stars":2593,"forks":119},{"captured_at":"2026-10-05T23:21:35.594994Z","stars":2596,"forks":119},{"captured_at":"2026-10-05T23:36:37.608423Z","stars":2599,"forks":119},{"captured_at":"2026-10-05T23:51:38.848291Z","stars":2599,"forks":119},{"captured_at":"2026-10-06T00:06:58.020799Z","stars":2600,"forks":119},{"captured_at":"2026-10-06T00:21:36.521730Z","stars":2600,"forks":119},{"captured_at":"2026-10-06T00:36:37.000474Z","stars":2601,"forks":119},{"captured_at":"2026-10-06T00:51:35.641059Z","stars":2601,"forks":119},{"captured_at":"2026-10-06T01:06:36.639742Z","stars":2601,"forks":119},{"captured_at":"2026-10-06T01:21:36.541631Z","stars":2602,"forks":119},{"captured_at":"2026-10-06T01:36:36.540331Z","stars":2603,"forks":119},{"captured_at":"2026-10-06T01:51:36.140074Z","stars":2604,"forks":119},{"captured_at":"2026-10-06T02:06:38.040092Z","stars":2605,"forks":119},{"captured_at":"2026-10-06T02:21:38.339766Z","stars":2605,"forks":119},{"captured_at":"2026-10-06T02:36:45.953263Z","stars":2607,"forks":119},{"captured_at":"2026-10-06T02:51:43.095403Z","stars":2608,"forks":119},{"captured_at":"2026-10-06T03:06:39.141823Z","stars":2609,"forks":119},{"captured_at":"2026-10-06T03:21:39.345033Z","stars":2609,"forks":119},{"captured_at":"2026-10-06T03:36:39.241024Z","stars":2611,"forks":119},{"captured_at":"2026-10-06T03:51:40.241592Z","stars":2613,"forks":119},{"captured_at":"2026-10-06T04:06:41.077350Z","stars":2614,"forks":119},{"captured_at":"2026-10-06T04:21:39.042048Z","stars":2614,"forks":119},{"captured_at":"2026-10-06T04:36:40.541164Z","stars":2615,"forks":119},{"captured_at":"2026-10-06T04:51:38.640964Z","stars":2616,"forks":119},{"captured_at":"2026-10-06T05:06:43.898921Z","stars":2616,"forks":119},{"captured_at":"2026-10-06T05:21:37.136411Z","stars":2616,"forks":119},{"captured_at":"2026-10-06T05:36:36.221843Z","stars":2617,"forks":119}]}}