|Status note||Design and Implementation exists in an addon: DOMCrypt. (Needs porting)|
|Product manager||Chris Blizzard|
|Directly Responsible Individual||Dietrich Ayala|
|Lead engineer||David Dahl|
|Security lead||Sid Stamm|
|Privacy lead||Sid Stamm|
|QA lead||Juan Becerra|
|UX lead||Alex Limi|
|Product marketing lead||`|
Stage 1: Definition
1. Feature overview
A simple API for exchanging public keys via web page metatags as an enhancement to the DOMCryptAPI (mozCipher), see: Privacy/Features/DOMCryptAPI.
Goals: As simple as possible mechanism for web users to discover and save public keys as a helper for the DOMCryptAPI.
2. Users & use cases
DOMCrypt (see Privacy/Features/DOMCryptAPI is a public key crypto API, which is useful as-is, but to enhance the user experience, a simple method to collect and store your contact's public keys would make DOMCrypt a bit more powerful. This simple API adds to window.mozCipher (which is provided by DOMCrypt):
It also adds a browser-side notificationbar that is displayed when a "addressbook-entry" meta tag is encountered. This notificationbar asks the user to save or ignore the "contact entry". This is a very simple way for endusers to exchange public keys and is presented in a language that is easily understood. Users need each other's addressbook entry to exchange private message data. This simplifies the nomenclature greatly, which will help bring more user control and privacy to users who care to exchange data on the web in a more secure manner.
Parsing the DOM on idle to discover "addressbook-entry" meta tags would make the most sense - there is a little bit of research to do here on perf.
Any kind of key management UI or toolkit.
Stage 2: Design
5. Functional specification
The existing implementation is here: 
A demo can be found here: 
6. User experience design
Stage 3: Planning
7. Implementation plan
Next Steps & Open Issues
Port the existing synchronous API over to an asynchronous API
Quality Assurance review
Stage 4: Development
Stage 5: Release
10. Landing criteria
|Theme / Goal||`|
Team status notes