NouveauPG for iOS removed from App Store

A few years ago, I swore to myself that I would not publish apps that I didn’t use myself. NouveauPG for iOS has some issues I don’t have the time to fix in the near future. I hope to have it back and better than ever in 2016, but I will not publish it until it is in good enough shape that I have it on my phone.

I use NouveauPG for OS X on a regular basis, so I want to concentrate on that for the time being.

GPG Suite security even worse than imagined

Apparently there are security issues with GPGSuite beyond keeping track of users' IP addresses with an auto-updater.
Apparently there are security issues with GPGSuite beyond keeping track of users’ IP addresses with an auto-updater.

The leading OpenPGP client for Mac OS X has recently pushed a security update due to a bug that allows a local user to execute shell commands with root privileges.

As if it weren’t enough, by default, GPG Suite regularly contacts to check for updates. So not only does keep tabs on the IP addresses you use without explicitly getting permission, a carrier or state level entity could easily compile a list of GPG Suite users by monitoring requests to the upgrade server (here and here). It doesn’t matter they are using SSL/TLS because the private information is your IP address.

Think about it, after a few months, your upstream carrier (or whomever has access to their logs) could compile a list of every IP users of GPG Suite use. My opinion of GPG Suite users notwithstanding, I am sure they have more interesting data stored on their computers than the average person.

NouveauPG is sandboxed, so it is entitled only to access files selected by the user using the system open and save dialog box. Absolutely no network access allowed. (The only autoupdate mechanism is through the App Store version, which is the same one used for OS X autoupdate. There is no way for a third-party other than Apple to know exactly what is being updated, and tracking IP’s to the Apple update servers will only give you a list of Macintosh users.)

Activity monitor showing all the unsandboxed processes from a GPG Suite installation.
Activity monitor showing all the unsandboxed processes from a GPG Suite installation.
Activity monitor showing the single sandboxed process for NouveauPG
Activity monitor showing the single sandboxed process for NouveauPG.

Quickstart Guide to NouveauPG for OS X

To encrypt a message for some party, you must first import their certificate into NouveauPG.

You can import public key certificates from either the clipboard or a file.
You can import public key certificates from either the clipboard or a file.

Before using a certificate, be sure it’s valid. NouveauPG will warn before performing encryption with an invalid certificate.

User ID validation Click on Compose Message to write a new message for the recipient.

Compose Screenshot

You can either type a message or choose a file to encrypt. At this time, NouveauPG will only encrypt plain text files. (UTF-8 supported)

Compose Screenshot

You can export your encrypted message by copying to the clipboard, or save as a text file.

Compose Screenshot 3


If you wish to receive encrypted messages from another party, you must first create a new identity. Press the add button on the lower left hand corner of the window.

Create Identity

An identity looks a lot like the public key certificate but you have two more options: Decrypt Message and Private Keystore

My New Identity screenshot


The two new options are protected by the password you chose while creating the account.

enter_passwordTo decrypt a message, either paste the encrypted message in the space provided or load an encrypted message from a file.

Decrypt ScreenshotYou should use the Private Keystore feature to backup your identity. Make sure your keystore is saved on an encrypted volume. To restore an identity, or move it to a new computer, simply import the private key block.

Export Identity Keystore


NouveauPG for OS X waiting for review

new icon
The New Icon

After taking into account feedback from the beta last year, and taking a “break” to develop NouveauPG for iOS, I am now pleased to announce the first GA release of NouveauPG for OS X.

Functionally, not much has changed from the beta, however many bugs have been removed and the interface is polished to the degree expected in the Apple App Stores.

Screen Shot 2015-03-01 at 1.02.07 PM

Getting Started with NouveauPG for iPhone

NouveauPG allows you to securely message others using iPhone apps you already have. You use the clipboard to efficiently shuffle encrypted messages into and out of your favorite messaging and e-mail apps.

Before you can receive (and decrypt) any encrypted messages, you must first generate an identity. An identity is sometimes referred to as a key pair or public/private key pair. Your identity has a public part that can and should be distributed to anyone that might want to send you an encrypted message. The private part of your identity is used to decrypt messages that were encrypted using the public part of the identity.

Generate user The private portion of the identity is further protected by a password. Even if you have the password for an identity, you can’t decrypt a message without the private key. The password is just another line of defense against unauthorized access to the private key.

It will take a few moments to generate a new identity, depending on how recent your iPhone is.

Identity menu

Clicking on your newly created identity will bring up a short menu. You can export a public key certificate for this identity, which others will use to encrypt messages for the identity.

Export OpenPGP public key certificate

From this screen you can either e-mail this public key certificate someone that may want to send you an encrypted message or copy and paste into another app.

Compose a message to self

You can also add this public key certificate to your Recipients list and be able to encrypt messages to yourself.  This may help you understand the OpenPGP process better by examining from end to end.

Export encrypted OpenPGP message

As usual, you can easily send the encrypted message to the e-mail address specified in the public key certificate. But since you’re sending the message to yourself, simply save it to your Messages. (The Save button on the toolbar)


The messages is where encrypted messages are stored waiting to be decrypted. The add icon on the upper left will add an empty message. You can paste an encrypted OpenPGP message into this empty message and NouveauPG will automatically recognize if it is encrypted for the public key of an Identity.

If NouveauPG recognizes the Identity the message was encrypted for, it’s identicon will appear on the left side of the cell. Otherwise, a preview of the message’s content will show instead.

Decrypt message

Once you select an encrypted message, you have the option of attempting to decrypt the message.

Identity locked

First you must unlock the private part of identity with the password you selected.Identity menu

This is known as “unlocking the keystore.” The key store is always protected by a password as a line of defense against unauthorized access to the key.

Unlocked menu

Once you unlock an identity, the menu has a couple more options. Exporting the private keystore will allow you to use import this identity into NouveauPG on another device or NouveauPG for Mac OS. If you intend on using a key for a period of time, you would be well advised to export and backup a private keystore for the identity. You will be prompted for a password to protect the keystore with.Decrypted message

Now that you have unlocked the identity, you are able to freely decrypt the OpenPGP messages encrypted for that identity.

How to encrypt a message using NouveauPG for iPhone

The way to import OpenPGP messages into NouveauPG is using the clipboard. This allows you to use NouveauPG in conjunction with other applications for encrypted communications beyond e-mail.

Copy an OpenPGP Public Key certificate you your iPhone clipboard, navigate to the Recipients tab and press the Add Contact icon indicated below.

Version: NouveauPG 1.10 (OS X)


Import public key certificate

If the public key certificate is valid, a new listing will appear at the bottom of your Recipients list.

Two recipients

The colorful icon on the left side of each cell is an identicon generated to help you identify keys. Each key has a unique identicon which is impossible to forge because it is generated from the key itself.

Compose message

Selecting a recipient will allow you to compose a new message for them. You can either type a message or paste a message from another app.

Export OpenPGP data

Pressing encrypt will encrypt your secret message and clear it from memory. From this point on, if you want to read the message, you will need the private key. You can safely put this message in any public place where the receiver may find it.

E-mail export

Pressing e-mail will generate a new e-mail containing your message, addressed to the e-mail address in the public key certificate (if applicable).

E-mail is an effective way, but obviously not the only way to exchange OpenPGP messages.

How to Encrypt Messages using NouveauPG for OS X

NOTE: this post pertains to v1.10

OpenPGP allows you to pass secure data  across an insecure channel such websites, forums, and even private e-mail.

To decrypt messages, you first must generate a key pair before anyone can encrypt messages for you.

The key pair has a public part and a private part.

Often the public part is called a public key certificate.

If you only want to send encrypted messages to another party using OpenPGP, you do not need to generate a key. You need to get the public key certificate of the intended recipient.

Copy the public key certificate to the clipboard

Copy the public key certificate to your clipboard.

Importing clipboard contents into NouveauPG

Import the public key certificate from your clipboard.

Composing a message

Make sure it is selected as your current recipient. Press encrypt.



Your encrypted message will pop up, where you can copy the message to the clipboard or save to a file. It is practically impossible to decrypt the message without the private key, so you can post the message anywhere without worrying about anyone else reading it.

1.01b update released

There was a defect in the last build that seemed to be causing problems for a few users. If you attempted to write to the local database while the program is on a read only medium (like the compressed disk image NouveauPG is distributed in) the write failed silently and users were left wondering why they could not import or create PGP key pairs.

As of version 1.01b, NouveauPG displays a dialog when a write fails and no longer gives any indication that the operation succeeded. Apparently this distribution method is confusing for some, but I have decided to stay with compressed disk images because it seems to be the standard (outside of the app store, of course). Although this method is more confusing, it has always been a goal of this project to produce an application bundle that can be shuffled between computers on removable media.

I have tried to illustrate the installation process below. I appreciate those that have provided feedback, I don’t think I would have found this bug on my own.