Introducing version 2.0 of PaperVault, now available for iOS and macOS! 😁

PaperVault is my niche app you can use for secure, long term storage of data in paper, using sequences of QR Codes. Use it for information you need if you lose your digital devices, like remote backup passwords, bank account details, etc.

Why paper? Digital media stops working after a few years. Paper lasts a lifetime is stored in a proper environment like a bank safe.

Happy PaperVaulting!

https://papervault.eu

PaperVault

Securely store data on paper. Available for macOS and iOS.

@arroz I can't wait for the stone tablet version.
@rcarmo @arroz I like the idea, maybe have the possibility of generating an .STL for CNC engraving is the way to go!
@arroz PaperVault looks cool, but it is not available in my App Store region (France). Any reason for not making it available worldwide?
@priteau It’s available everywhere but France, unfortunately. France has specific import requirements for products using encryption, the government websites aren’t great, the documentation is either missing or in French, and it’s not clear which forms I have to file, if any. So France is on hold until I have time and patience to deal with it. Sorry, I know it sucks but I don’t want to be breaking the law inadvertently.

@arroz interesting, why multiple QR codes? What is the error level you use on the QR codes?

I liked the rationale on the security page, I'd love to see one on the data format page also.

Did you look into JABCode or OPTAR as alternatives? They seem designed for paper archiving but not sure if they are as good when scanned with the phone. I guess apple engineers have spent quite a bit of time on their QR reading if you use some native QR library.

@gnyman Starting by the easy one, data format is documented as well: https://papervault.eu/data-format

Multiple codes: I don't want to limit the stored data to what fits in a single code. So a document can print to multiple codes, and even multiple pages with multiple codes each. Each code encodes enough information to know the entire structure and its place in it, so you can start the scanning process by pointing to any code on any page, and it guides you.

1/

PaperVault

Securely store data on paper. Available for macOS and iOS.

@gnyman The error redundancy level is the lowest, although for small documents the redundancy increases organically since the codes are always the same size. The rationale was compressing info spatially as much as possible, but I may revisit this in the future.

Alternative encodings: I didn't find any really suitable one. Colour is out of the question (degrades quickly and requires colour printer which I don't have).

2/

@gnyman Initially I wanted to use aztec codes since they have a few theoretical advantages over QR. However, OS and 3rd party library support is really poor. As you said, built-in support for reading QR Codes is so advanced that it easily scans codes that are even way out of spec, like magic. At this point the aztec advantages were negligible at best (slightly higher density, doesn't require clear space around the code), so I switched to QR.

3/3

@arroz This looks really promising. Where is the PaperVault data stored on Mac? Is there a way to export the GlobalKey (encrypted with the TemporaryKey derived from the Main Password)? Is there a way to import the GlobalKey into another Mac/iPhone/iPad?

@techlawguru It stores data in ~/Library/Containers/eu.papervault.PaperVault/Data/Library/Application Support (keys are files on disk, docs are in Core Data).

There is no way to export and import keys and files. The purpose of the app is to print and scan the paper copies of the documents, local storage is just convenience, so I did not invest time in those features or synching, which is several months of work for sure.

1/2

@techlawguru That said, if you copy the files inside that directory (specifically, the 3 default.store files, Storage Key, and the Document Keys directory) to another Mac, there's no reason for it to not work. You may have to run the app once though, because creating those Container directories manually is next to impossible.

2/2