Skip to content

zippiehq/vault

Repository files navigation

Zippie Vault

Zippie Vault is a web browser based key chain using Service Workers allowing the creation of application specific asymmetric cryptographic keys based upon a master seed.

Application Specific Keys

Zippie Vault's main purpose is to create application specific derived asymmetric keys useful for signing and encrypting arbitrary data.

These are created deterministically based upon the master seed, application uri, and application generated path, for further information about the key derivation process check BIP0032

Master Seed

The master seed is a cryptographically secure random number generated by Web Crypto API used as the basis for all derived keys.

For master seed storage and transfer zippie vault works in conjunction with amnesiacstore

Security

The Vault is intended to be run in a Service Worker or IFrame and is protected by the web browsers cross origin security policy. Communication with the vault is handled exclusively with postMessage calls.

API

To implement the Vault in your app see the Vault API

Dependencies

  • NodeJS
  • NPM

Building

npm install
npm run build

Development

npm run build-dev
npm run dev

Production

set up web host with HTTPS copy dist folder

License

Commercial / AGPLv3