How To Anonymize iTunes Songs
One of our readers pointed out that the application that we reviewed a while back to anonymize iTunes songs had been down for a while. He suggested another method of getting rid of user identifying data in iTunes. The iTunes plus songs contain three obvious fields that can be used to identify the user. The EFF is suspecting that each song might contain even more fields that can be used to identify the user.
The actual process of anonymizing itunes songs involves the usage of two different programs: Atomic Parsley and Hexfiend. Atomic Parsley will be used to remove the application ID which is usually the email address of the user who purchased the song and the purchase data. The software is available for Windows, Linux and Mac.
A basic command that can be very helpful is to display all information about a song using the software. To do this run the following command:
atomicparsley song.m4u -t
This will list all tags and their values in the same command window making it easy to spot the identifying ones.
Tags can be removed with the command
atomicparsley song.m4a –manualAtomRemove “moov.udta.meta.ilst.TAGâ€
where TAG has to be replaced with a valid name. To remove both the application ID and purchase data from an iTunes song one would issue the following command:
atomicparsley song.m4a –-manualAtomRemove “moov.udta.meta.ilst.apID†–-manualAtomRemove “moov.udta.meta.ilst.purd†-W
An alternative would be to remove all tag information at once using the following command which is currently the only way to ensure that the song will not contain user identifying information afterwards. It will however clear all tags including title, artist and other related tags.
AtomicParsley song.m4a –metaEnema
After finishing the first step of anonymizing iTunes songs we still have to remove the name of the buyer that is contained in the songs. To do that a hexeditor like Hexfiend is needed. Simply open the iTunes song in Hexfiend and search for the name. Once the name is found replace it with other chars that match the exact length of the name. Save the file under a different file name and check out that it still plays fine in your favorite music player.
Advertisement
There is a new freemium muti-tool for windows available on https://audiozip.net
which shows always all frames inside mp4/m4a-files and many others.
The personal data can be easily removed there.
It’s a complete music manager software!
You can try this script on macOSX : https://github.com/thedailywizard/cleanm4a
I made it to clean my itunes library (30Gb).
Remove all unwanted tags – Keep cover/artwork – Force trackID to “1”
No audio re-encoding
I got same as Vel, I think there are 2 sets of tags, I used kid3 http://kid3.sourceforge.net/ to delete “apID” (email) and “ownr” (name). Verified tags removed with hex editor http://www.suavetech.com/0xed/. Used Osx Snow Leopard.
On Windows, I also got the result of “No changes” when trying to –manualAtomRemove “moov.trak.mdia.minf.stbl.stsd.mp4a.pinf”.
This issue seems related to a bug reported and resolved in 2012.
https://bitbucket.org/wez/atomicparsley/issue/30/pinf-atoms
However, I still couldn’t process the file with the latest development build 0.9.6. What did work was zero-filling the ‘pinf’ atom up to the following one as reporteded by AtomicParsley on the same level of hierarchy, which happened to be ‘free’ padding space in my case. I also renamed pinf to free.
I’m unsure if this is a valid change. The mp4 appears to work fine in all software at hand.
The ffmpeg method is what I use often, except I generally mux to mkv, but here I’d like to preserve metadata such as the horrible itunsmpb tag and cover artwork, that are rather hard to add back in.
Go to music and just:
find . -name “*.m4a” -print0 | xargs -0 -n 1 — bash -c ‘atomicparsley “$0” –DeepScan –manualAtomRemove “moov.udta.meta.ilst.apID” –manualAtomRemove “moov.udta.meta.ilst.atID” –manualAtomRemove “moov.udta.meta.ilst.cnID” –manualAtomRemove “moov.udta.meta.ilst.geID” –manualAtomRemove “moov.udta.meta.ilst.plID” –manualAtomRemove “moov.udta.meta.ilst.sfID” –manualAtomRemove “moov.udta.meta.ilst.cprt” –manualAtomRemove “moov.udta.meta.ilst.flvr” –manualAtomRemove “moov.udta.meta.ilst.purd” –manualAtomRemove “moov.udta.meta.ilst.rtng” –manualAtomRemove “moov.udta.meta.ilst.soal” –manualAtomRemove “moov.udta.meta.ilst.stik” –manualAtomRemove “moov.udta.meta.ilst.xid” –manualAtomRemove “moov.udta.meta.ilst.—-” –manualAtomRemove “moov.udta.meta.ilst.—-” –manualAtomRemove “moov.udta.meta.ilst.—-” –manualAtomRemove “moov.udta.meta.ilst.—-” –manualAtomRemove “moov.trak.mdia.minf.stbl.stsd.mp4a.pinf” -W’
This is absolutely fabulous!
I got the same results as Vel! Have Apple made any changes that prevent us from removing Atoms?
This didn’t work for me on OSX Mountain Lion.
I ran:
AtomicParsley song.m4a –-manualAtomRemove “moov.udta.meta.ilst.apID†–-manualAtomRemove “moov.udta.meta.ilst.purd†-W
I got the output “No changes.” When I run AtomicParsley song.m4a -t I can still see my AppleID and purchase date, so it didn’t strip those tags.
I got the executable from here – http://sourceforge.net/projects/atomicparsley/files/atomicparsley/AtomicParsley%20v0.9.0/AtomicParsley-MacOSX-0.9.0.zip/download Is there a newer version I should be using?
I prefer to nuke all meta-data using ffmpeg:
ffmpeg -i “input.m4a” -acodec copy “output.m4a”
This will losslessly remux the entire file, removing all non-audio data. It ought to also remove the hidden data that EFF found, but could not identify, though I haven’t tested this.
That gets rid of the iTunSMPB, which is what makes the aac files gapless. You probably don’t want that.
The question is, is there a way to do that with itunes applications?
Thanks, but one small error: it’s –metaEnema not -metaEnema (double hyphen).