All banks are shit but suppose you have a bank that is insideously over-achieving their KYC “compliance¹” and for whatever reason you cannot switch (likely because all the other options are too repugnant). One small thing you can do for every document they demand (id card, utility bill, bank statement, etc) is to fatten the storage footprint of that file as much as possible while simultaneously reducing the quality to barely legible.
I start with a cover letter (“Dear Bank X, a copy of my ID card is attached”). This is not necessary but adding a page really amplifies the filesize. Let’s assume you have a 2 page PDF to start (which is black and white in my case).
Tools needed:
- GhostScript
- tiff2pdf
- ImageMagick
- exiftool
¹ scare quotes used because they are far exceeding their KYC expectations well beyond compliance. They are “taking the piss” because there are no consequences for them when their overcollection hits you harder in data breeches.
convert PDF to fax TIFF
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=tiffg3 -r204x196 -sPAPERSIZE="$paperform" -dFIXEDMEDIA -sOutputFile=fax_format.tiff "$src_pdf"
Replace $paperform
with either “A4” or “letter”, depending on where you are. And replace $src_pdf
with your input filename.
This command actually has a practical use if you ever send a fax because the fax_format.tiff
file is in the group 3 fax format so you can see an accurate representation of what the doc will actually look like on the receiving end without having to just hope that it is not downgraded too much. The significant change is to get it down to ~200 dpi. It can be surprising how decent fax quality is if you start with a good scan and use a good dither algorithm.
convert the TIFF back to PDF
$ tiff2pdf fax_format.tiff im_input.pdf
The output actually shrinks in that step because the PDF contents get compressed. But we do this because when ImageMagick processes a PDF source and produces a PDF target, it’s naturally extremely bloated for some reason. ImageMagick is just terrible with PDFs but this is to our benefit in this case. Add a few key options to really bloat the shit out of it:
bloat it out
$ convert im_input.pdf -quality 100 -colorspace CMYK -resample 600x600 fuck_KYC_assholes.pdf
This triples the number of pixels but it’s still bounded by the A4 or US Letter geometry. It converts the bilevel doc to color. In my test a 38k file grew to 26mb!
im_input.pdf → 38kb
fuck_KYC_assholes.pdf → 26mb
The quality takes a huge hit in this step. I have no idea why. The doc is like 715 times bigger and much worse quality, but the quality is still just barely good enough to be accepted as long as it’s not judged by an asshole with a reject button.
Of course YMMV… might need some tuning if your bank has a filesize limit you need to target. The beauty of this is that since banks are like cops now, they probably treat these KYC files with forensic care. I don’t imagine that if they had excessively bloated files that they would dare risk reducing the quality by further processing in an effort to reduce the size.
cover your tracks
$ exiftool -all= fuck_KYC_assholes.pdf
That final step sanitises some or all of the metadata (e.g. removes Producer: …imagemagick.…
). Of course there is an opportunity to tell them what you think in the metadata as well.
(optional) express yourself in the metadata
$ exiftool -author='(╯°□°)╯︵ ┻━┻' -creator='┌∩┐(◣_◢)┌∩┐' fuck_KYC_assholes.pdf
The author in this case is doing a table flip.
Or more constructive:
$ exiftool -Subject='Please stop financing fossil fuels and private prisons' fuck_KYC_assholes.pdf
(optional) embed a hidden file
Suppose you want to add files that are not rendered when the PDF is opened, either to express yourself further but in a less visible way or to bloat it out a little more in a way that’s easy to control. E.g. your file is 10mb under the size limit. Use dd
to make a 10 meg file of random chars then add that to the PDF. Or add a manifesto to the PDF.
$ dd if=/dev/random of=/tmp/extra_bloat.raw count=1 bs=10000000
$ pdfattach fuck_KYC_assholes.pdf /tmp/extra_bloat.raw screw_them_harder.pdf
FYI, if they are clever and nibby they can use pdfdetach
to see what you did. So choose the filename accordingly. The reason for /dev/random as opposed to /dev/zero is the random bits don’t compress. Perhaps a good file to attach is a Banking-on-Climate-Chaos-$year.pdf
report.
2021: 12mb
2022: 8.2mb
2024: 21.8mb
It’s not just a problem with banks. KYC oppression has targeted VOIP customers too.