DEDA – Tracking Dots Extraction, Decoding and Anonymisation Toolkit
99 comments
·April 1, 2025otaviogood
computerdl
Oh wow, I remember hearing about this challenge on Daily Planet when I was still in elementary school. It's super cool seeing a follow up, it brought back a hidden memory.
Super cool demo btw
AceJohnny2
and here I thought the library shredder/scanner in Vinge's Rainbows End was just sci-fi loosely based on gene sequencing...
(I mean it is, but seeing this almost real-world implementation is fun!)
dylan604
what was the process of getting each of the shredded pieces scanned for your program to use. I'm guessing that process could have a write up on it just as much as the solver. there's definitely a personality type that can handle that type of mess
otaviogood
DARPA scanned the shreds. The funny thing is, they didn't want to shred the original paper, so first they photocopied the paper in a high quality color copier, shredded it, and scanned it. And that's where the little yellow dots came from. :D
dylan604
interesting. now my brain is churning on why would they not want the originals shredded. what does that say about the value they placed on the originals? why would they open a contest up with documents of such perceived value as the content? being DARPA, i'm sure there's a reason though
anitil
Did they scan both sides of the shreds?
twalkz
> My printer does not print tracking dots. Can I hide this fact?
> If there are really no tracking dots, you can either create your own ones (deda_create_dots) or print the calibration page (deda_anonmask_create -w) with another printer and use the mask for your own printer
The thought of being able to “spoof” the tracking dots of another printer has interesting implications for deniability. Though I guess in this case you’d still need access to the original printer to print the anonmask…
decimalenough
Per Wikipedia, the dots' "arrangement encodes the serial number of the device, date and time of the printing", so all you really need to spoof somebody else's printer is the serial number. Which can likely these days even be accessed remotely through printer settings.
CobrastanJorji
No need to examine the printer. Just find a sheet of paper that printer printed, decode the dots, and then print your super illegal whatever with their printer's dots and a timestamp that makes sense for whatever you're framing them for doing. Nobody's ever gonna believe "the dots were a lie." They sound too much like fingerprints.
dylan604
Or just go to a big box retailer, grab a couple of serial numbers off of the packaging, and then randomize per page.
timewizard
It depends on how it gets the serial number. If it reads it from internal memory then spoofing your own serial number on each document print is the obvious workaround.
tgsovlerkhgsel
Once you are at the level of forensic investigations that go down to the tracking dots, most attempts at spoofing anything will be relatively obvious and provide further evidence that narrows down the list of suspects to those aware of such techniques.
You might fool someone who does such analysis casually but I'd expect an actual experienced investigator to e.g. go "the tracking dots are clearly brand X, but the raster used for greyscale is obviously from Y, soooo"
thinkingemote
Have these dots been used as evidence in a court?
UncleEntity
They've been used to figure out who leaked government documents in a few cases IIRC.
chaps
Had the experience of poking at tracking dots recently for circumstances I won't share here.
Do y'allself a favor and get a blue LED flashlight and point it at a color print. It's shocking how many are printed. It looks like a spattering of sand across the entire page!
RachelF
I'm surprised there's not been a class action against printer manufacturers for all the extra yellow toner that's been used.
kmoser
Not to mention failure to accurately print what you sent to the printer. There must be some use case where these "invisible" dots actually undermine the intended output.
atVelocet
Are we talking about laser, color laser and/or ink printers?
timewizard
It's not even just for printers anymore.
ale42
Not exactly the same thing. This is more akin explosive tracers, i.e., lots of small particles that contain some identifying information.
VladVladikoff
For those who missed it, this is an interesting and related topic: https://news.ycombinator.com/item?id=42880704
ruytlm
Adding some context to this, because it's a really interesting read that's worth the time if you ask me: it's about how some recently 'discovered' early playtest versions of Pokemon cards were found to be fake, or at least very suspicious, based on the presence (and decoding) of these dots.
I also find it interesting because the person who posted the discovery and breakdown of the dots stood to personally lose thousands of dollars they'd spent on the fakes, but posted their findings anyway.
UncleEntity
Or, alternatively, to prove thousands of dollars in damages.
dyingkneepad
What happens if I print the same page in multiple printers? Like, have the first printer print the actual contents, and then have the other printers add just a little bit of stuff in still-white areas. Does one printer mess the dots of the others?
kadoban
Yes. How would it know not to?
To be clear, it's possible/probable that some or all of it could still be read depending on details I don't know.
rustcleaner
I'm beginning to think the MIB show up to any nerd's house who starts an equivalent of OpenWRT project, for printers. Can't have untracked speech, need to be able to surgically strike certain founts of inconvenient memes. This sort of thing is why my craigslist sourced b&w laser printer is on its own VLAN with a CUPS server playing go-between. Nobody consented in an informed manner to Niantic's operation for the last decade+. Nobody consents to their every print being traceable. There is nothing, nothing about the product or process which warns the device owner or user that "Lack of obvious visible identifiers in the output does not mean it is identifier-free (steganographic identifier)." Just like nobody consents to the Universal Machines in our products being locked down to the point that even we the owners can't repurpose them as we see fit. We as peoples have come to accept the barrage of insults from commercial and state entities, that it's either a shit-sandwich or no-sandwich at all (plus a beating). Louis Rossmann's Consumer Action Taskforce (CAT) is becoming a great anthology of what I am talking about in this regard.
It's time to fight back! Let's start hacking the good printers out there, get their firmwares replaced with something viable, and start divorcing this nonsense. These tracking dots and other steganographic tracking methods exist precisely to track people like me and silence me, people who point out the occulted control methods, people who spread memes deemed information hazards and malinformation by the giant onyx squid.
[/rant]
rustcleaner
Besides, if I wanted to counterfeit I would [naïvely] get one of those tight tolerance watchmaker CNCs and have printing stamps made out of aluminum or something. Printing to paper in the usual home-office way seems to me an asinine method which is easily detected by most people who handle bills regularly.
15155
The point of these technologies is to stop the low hanging fruit and trace the source of ransom notes, leaked documents, and the like.
For counterfeiting, a technical person's first thought is: "how does the Bureau of Engraving and Printing actually do it?" and then they do that - and you nailed it: offset printing.
Laser printers and inkjets can't even remotely compare.
tgsovlerkhgsel
That's a lot more work, skill and initial investment required than just trying to slap a dollar bill on a copier. Which means a lot fewer people will try, especially since the people with these skills can usually easily make enough, and possibly more, money through legitimate means.
There were people who did counterfeiting "right", down to getting real printing presses, suitable paper etc. https://www.businessinsider.com/frank-bourassa-on-how-he-cou... (it's strongly implied that he got away with 6 weeks in prison and likely got to keep a decent amount of the profit).
Henchman21
Ya gotta do what the cartels do: bleach out singles and print $100 on it so it feels right
rustcleaner
Then there's needing to contend with possible serial number scanning occurring at automated stations and at financial institutions, cataloging the movements of specific bills, detecting clones (improbable or impossible physical note appearances), and detecting zombies (decommissioned/known-destroyed numbers, and numbers never emitted). Randomly generating numbers is likely to trip clone and zombie sensors at various surveillance points.
Bill scanning to verify authenticity is already occurring, why not record the fact Bank of xAI ATM #67387 tendered two Franklins with serial numbers $SERIALA and $SERIALB to you (verified by PIN and card, and possibly bolstered by Face ID incognito); maybe older systems only do the verification locally and lack OCR, but I'm positive new systems are plenty powerful enough to run pared down OCR on serial numbers... wait they have been doing it with cheques all these years with handwritten dollar values, so why not OCR serial numbers coming and going? You see? The net deepens. I probably can't suggest methods of washing this data without possibly committing some obscure crime, so I will leave you to your creative imaginations...
noodlesUK
I'm really curious what proportion of printers can be decoded with public tools. Are there any stats on which manufacturers codes have been cracked?
IvyMike
The github references this document: Timo Richter, Stephan Escher, Dagmar Schönfeld, and Thorsten Strufe. 2018. Forensic Analysis and Anonymisation of Printed Documents. In Proceedings of the 6th ACM Workshop on Information Hiding and Multimedia Security (IH&MMSec '18). ACM, New York, NY, USA, 127-138.
There is a copy here: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
Table 1 (manufacturer, #of printers analyzed, dots found):
Brother 1 no
Canon 10 yes
Dell 4 yes
Epson 8 somemodels
Hewlett-Packard 43 somemodels
IBM 1 yes
KonicaMinolta 21 somemodels
Kyocera 4 yes
Lanier 1 yes
Lexmark 6 somemodels
NRG 1 yes
Okidata 9 somemodels
Ricoh 6 yes
Samsung 5 no
Savin 1 yes
Tektronix 4 no
Unknown 1 yes
Xerox 15 somemodels
It sounds like they mostly understand the dot patterns wherever they found them, with some caveats that are explained in the paper.banku_brougham
Do black and white laser printers produce tracking dots?
Also, what is the meaning of this tracking, must every corner of our lives be tracked just on principle?
rustcleaner
I can't affirm knowledge of steganographic identifiers in B&W printers. I wanted to state I would be surprised if B&W printers did not embed tracking information. There's too much national security value in spamming origination details on everything. There is always, always a safety or security argument to do so, followed with "but what's the harm, you're not doing anything you shouldn't be doing... are you? "
doctoboggan
It's my understanding that the secret service requested (required?) that the printer manufacturers start adding the dots once the printers got good enough to easily recreate paper bills. Because they are primarily a tool for tracking counterfeiters, they are not needed with black a white printers and thus are not included.
krupan
The tracking dots aren't for anti-counterfeiting. The secret service has a separate chunk of code in every color printer that detects if you are printing money and prints out a page that says essentially, "you can't do that." (at least that was the case 20 years ago when I worked for HP).
The tracking dots are used by the FBI if someone prints out classified information and passes it around, or other copyrighted/illegal documents.
Doxin
The EURion constellation[0] is how that detection mostly works as I understand it. Neat bit of tech. It's real obvious on euro bills once you know what to look for. Fun fact: not all printers give a hoot about this pattern, so it's a neat trick to annoy people with if your printer doesn't.
theGeatZhopa
mostly, the software in printers/scanners and Adobe's Photoshop alikes is looking out for the "EURion" pattern.
https://en.wikipedia.org/wiki/EURion_constellation
That is not to be confused with (dynamical) and non-visible tracking info on printed sheets, which in fact can have everything coded in. By that, even 1-bit printouts can be identified up to the source. If the printer model and #salt is printed alongside, the prosecution has evidence for the cases the printer involved.
axus
https://www.eff.org/pages/list-printers-which-do-or-do-not-d...
List hasn't been updated since 2017, was probably one guy making inferences from FOIA requests. We'll have to wait until the next time a Chinese university publishes some US government secrets.
jandrese
I think the idea is that nobody is going to be fooled by a B&W $20 bill, so they don't have to print the dots.
dylan604
"money be green, fool!" --D'Angelo Barksdale, The Wire
the only people to be fooled by B&W money are most likely drug related, at least, the only ones willing to attempt to fool others with it.
crtasm
Until you colour it in with a crayon.
tonyedgecombe
No yellow dots on monochrome printers.
Decades ago I worked on some software that would adjust the kerning on characters to hide information. As far as I know the project never went anywhere.
sciencesama
Need a web ui as a self hostable docker so we can take total advantage of this !!
29athrowaway
You may also be interested in: https://en.wikipedia.org/wiki/EURion_constellation
tgsovlerkhgsel
And the lesser known, newer, invisible, digital watermark based version of it. Unfortunately very little information is available about that one. http://www.cl.cam.ac.uk/users/sjm217/projects/currency/
sneak
Somebody (more likely a group of somebodies), somewhere is responsible for having gone to each and every printer manufacturer and done or said something to make them implement this functionality.
schoen
If I remember correctly from the FOIA documents we got, it was a meeting or series of meetings with a Japanese printer industry association during the 1990s.
I forgot if we learned whether the government side was a specific government or governments, or the consortium called Central Bank Counterfeit Deterrence Group
which has been involved in other related stuff (like making some software and devices refuse to process images that are detected to be images of currency!).
like_any_other
Notably, they didn't go to congress to have a law publicly debated and voted on. It was all hidden from the public.
RachelF
The original somebody was likely the US Secret service, who are also responsible for US dollar currency forgery policing.
When color printers/copiers first appeared there was a concern about people photocopying money. The old joke was that your color photocopier "would pay for itself in no time".
theGeatZhopa
thats only for evidence/prosecution for fraud/criminal intents. If one say's "NO WAY I said and printed that contract" ... "Lemmy check...oh! You did. Its your printer. Look!".
I think its not like "somebody gone to each..", but rather "... a good idea".
sneak
Preventing anonymous publishing is not a good idea, it is malicious.
Wishing to publish anonymously is not exclusive to those perpetrating fraud or other crimes. Privacy is important to a free society.
theGeatZhopa
you can publish anonymously. no one hinders you. But in case it is illegal, prosecuters have evidence - which isn't malicious or bad per c'est. And, knowing which printer has been used for the illegal thing, doesn't mean the location of the printzer is known, too. So, no probs or conflict with that from my side.
If you really afraid, just overlay your PDFs with noise of yellow dots before printing. Or apply a digimarc pattern onto that with gibberish. That will mitigate recognition unless the digimarc pattern is recognized and removed, which is kind of difficult if unknown (https://www.digimarc.com/). There are possibilities.
theGeatZhopa
... thats also the reason why your yellow ink catridge/tank is the first to go empty. Each printout, no matter B&W or in YMCK, will have this yellow dots all over the place.
fph
So why don't the manufacturers make their printers with a yellow tank bigger than the other colors?
theGeatZhopa
You typically would keep the tank sizes same in volume and reduce the amount of other inks. By that other inks are empty approx. in the same time with yellow.
Similar question can be asked: Why some (consumer) supply tanks are units and can only be exchanged together in one, even there's still dye left in one of the colors? Why do cartridges signaling "empty" even there's still enough in them?
You can sell more of units and save on dye/ink.
fph
But why would a manufacturer want to keep the tank sizes equal, in the first place? I see no practical advantage.
If anything, having them different would prevent mistakes: customers cannot install a yellow tank in the place of a blue one, because it does not fit.
Me and my team used these yellow tracking dots to reconstruct shredded documents for a DARPA shredder challenge over a decade ago. You can see our program highlight the dots as we reconstruct the shredded docs. https://www.youtube.com/watch?v=uzZDhyrjdVo Thanks to that, we were able to win by a large margin. :)