Skip to content
Switch branches/tags


Anyone can use PGP to make their e-mail more secure. Using a pair of public and private keys, you either encrypt the entire message for a user, or add a signature to your e-mail for others to verify that it is your original content.

Unfortunately, PGP signatures usually look kinda boring:

Version: GnuPG v1.4.15 (Darwin)
Comment: Using GnuPG with Thunderbird -


Let's make them more interesting!


profanity.json includes a list of swears which map to valid PGP characters, a-z, A-Z, 0-9, +, /, and =

Using OpenPGP.js, messages are encrypted or signed using the same globally-trusted GPG client. Then Profanity-PGP replaces the message's characters with a much more profane system:

Version: Profanity-PGP VERSION

dipshit damn dipshit fuck dumbass motherfucking fuck git dumbass dumbfuck dumbass fucker dumbass crap nsa-hugging cunt shit crap dipshit goddamn fuck fuck damn bullshit shit pissant damn horseshit ass cock fanny poppycock dumbass dumbass fanny cunt cuntpunter bitch motherfucker whore motherfucker damn bitch skank turd fuck dongle shitter nsa-hugging darn asshole asshole hellish twat anal nsa-hugging fucking bollocks turd whore
git dumbfuck fuckwad cunt piss dick tit douche nsa-hugging hellish voldemort twat shitstorm anal asshat bullshit whore goddamn bullshit shitstain twat piss whore fuck git ass ass horseshit pissant turd wanker shitstain cock dongle fucking slut crappy turd bullshit bitchy motherfucker bastard dumbfuck horseshit damn dumbfuck horseshit piss piss cunt whore hellish tit poppycock asshat dildo fanny tit asshole fuck
shitfaced dumbfuck poppycock asshole fanny schmuck ass bitchy twat bollocks hellish dickhead bastard bitch turd cunt dickish shit bastard motherfucker skank turd dickhead git darn balls dongle wanker shitstain fuckwad damn jackass bullshit asshat schmuck poppycock asshat frak asshat bastard jackass bollocks balls shit jackass shitstorm git dumbfuck dumbfuck crap git tit dildo crappy hellish hellish turd bitch hippie schmuck
hippie whore skank dongle schmuck fucking darn hipster cunt douchebag shitstain tit wanker motherfucking fucking motherfucking nsa-hugging crap cock hipster fanny fanny frak goddamn dickish crap douche frak pussy dongle asshat whoring
whoring dildo santorum crappy fucker

Test Install (insecure)

npm install -g profanity-pgp

profanity-encrypt SnowdenDocs.txt > GreenwaldMail.txt
profanity-decrypt KryptosSculpture.txt > LizardPeopleConstitution.txt

profanity-sign HackThePlanet.txt > Hackers.txt
profanity-verify SketchyEmail.txt

Install for real

Create keys in GPG

gpg --gen-key
gpg --export --armor > public_key.asc
gpg --export-secret-key --armor > private_key.asc

Install the software

git clone
cd profanity-pgp
npm install

Edit your_keys.js to have your public key, private key, and passphrase.

npm install . -g

You can now use profanity-encrypt and other command line functions with your own key.

Never commit your private key - the one in this repo is used as an example and never for authorized messages.

NSA-hugging Option!

CC your friends at the NSA by encrypting with terms used by the ECHELON program:

cp echelon.json profanity.json


GPLv3+ -- based on OpenPGP.js which is LGPL


Make PGP messages and signatures more interesting



No releases published


No packages published

Contributors 4