---
# System prepended metadata

title: DC Web3 Copy

---

# DC Web3 Copy

Questions: 
* store or backup?
* shares or pieces?
* distributed web or blockchain?
* recovery partners or trusted contacts?
* lookup key or identifier?
* retrieved or recoverd or decrypted (piece/share)?

## HOMEPAGE 

### HERO SECTION
**Title:** Store and retrieve secrets
**Subtitle:** Use your most trusted contacts to secure your secrets on the distributed web

### LEFT PANEL SECRET OWNER SECTION 
**Title:** ‘Secret owner’
**Subtitle:** 'You would like to securely backup a secret'

**Action title:** ‘Backup a secret’
**Subtitle:** ‘To backup a secret you need to choose your recovery partners and request their public keys’
**Body:** ‘This will split your given secret into a set of backup pieces, encrypt them for each of your chosen recovery partners, and store them on the blockchain.’

**Action title:** ‘Recover a secret’
**Subtitle:** ‘To recover a secret you will need to request your backup pieces from your recovery partners’
**Body:** ‘To recover a secret you need to give the identifier you used during backup (usually your ethereum address) to your recovery partners. They can use this to retrieve your backup piece and send it to you.’

**Link:** Learn how to run a locally hosted instance of the dAPP

### RIGHT PANEL RECOVERY PARTNER SECTION 

**Title:** ‘Recovery Partner’
**Subtitle:** 'A person who trusts you has asked you to help them safely backup a secret'

**Action title:** 'Generate a public key'
**Subtitle:** 'To help your contact to backup a secret, you need to generate a public key and send it to them'
**Body:** ‘You will be asked to sign a message, and your key will be generated using this signature.’

**Action:** ‘Retrieve a contact's backup piece’
**Body:** ‘If a contact has lost access to their secret they will ask you to retrieve a backup piece and send it to them’
**Read more:** This will allow you to retrieve and decrypt the backup piece. You may need to sign a message to generate your encryption keypair. It is important to make sure you are sending the backup piece to the right person.

----------------
## SECRET-OWNER: BACK UP A SECRET PAGE

### HERO SECTION
**Title:** ‘Backup a secret’
**Subtitle:** 'Safely split, encrypt and store your secret on the blockchain'
~~Body: ‘This will split your given secret into a set of backup pieces, encrypt them for each of your chosen recovery partners, and store them on the blockchain.’~~

### PAGE BODY 

**Section 1: ‘Public Keys from Recovery partners’**
**Info box:** "
* You need to choose a set of contacts who you trust to be your recovery partners
* Each of them must have an Ethereum account
* Each of them must generate a public key and send it to you by visiting -> here
"
**Subtitle:** ‘Add public encryption keys from partners’
**Form input box x 3:** empty
**Error-key too short:** ‘The key given is too short. It must be 32 bytes’
**Error-key too long:** ‘The key given is too long. It must be 32 bytes’
**Error-invalid hex:** ‘This does not look like a public key. It must be valid hex, containing only the characters 0-9,A-F.’
**Button:** ‘Add one more’
**Button:** 'Remove' (appears only when the user has added one more - ie. there are four or more recovery partners)
**Info box:** "
* To store a secret you will need 3 or more public keys (-> Read more) to be able to recover this secret you will need just 2 out of 3 of the parters' decrypted shares
"

~~**Section 2: Threshold**~~

~~Threshold visualiser-subtext: `<m>of <n> backup pieces will be needed to recover the secret.`~~
    
**Section 2: 'Identifier'**
**Info box:** "
* A unique identifier for your secret that will also be used by your recovery partners to generate the decrypted share during recovery.
* Usually it is best to leave it as your ethereum address but in some cases you may want to use a different identifier
"
**Form input box:** default populated with ethereum address of connected wallet

**Section 3: 'Secret'**
**Form input box:** empty
**Body text:** 'Write your secret. A secret is agnostic and can be anything, for example, your pgp private key, the password to your encrypted harddrive, or your ethereum seed phrase"

**Submit button text:** 'Create Shares'
    
**LEADS TO>>>**
    
### SECRET-OWNER: BACKUP CREATED PAGE
 
### HERO SECTION
**Title:** ‘Backup Created’
**Subtitle:** 'One step away from safely securing your secret'

### PAGE BODY
**Section 1: ‘Your secret was separated into 3 pieces’**
**Info box:** "
* 2 out of 3 pieces are needed to recover this secret.
* Meaning 2 out of 3 of your trusted contacts will need to retrieve and send you their piece, when you want to recover your secret.
"
**Subtitle:** ‘Publish the encrypted pieces to safely store my secret’
**Submit button text:** 'Publish and Store'

**LEADS TO>>>**

### METAMASK POPUP

**LEADS TO>>>**

### SECRET OWNER: BACKUP SUCCESSFUL PAGE

### HERO SECTION
**Title:** ‘Your Secret is Safe Now’
**Subtitle:** 'Successfully published your shares on the distributed web'

### PAGE BODY
**Subtitle: ‘To recover your secret ask your partners to send you their retrieved and decrypted share’**
**Label:** 'You will need to send them your unique identifier'
**Info box:** "
* Don't forget who your partners are
* Always use a secure channel for sending keys or shares
"

----------------
## SECRET OWNER: RECOVER A SECRET PAGE

### HERO SECTION
**Title:** ‘Recover a secret’
**Subtitle:** 'To recover a previously stored secret'

### PAGE BODY 

**Section 1: ‘To recover a secret you need the decrypted shares from your original recovery partners’**
**Info box:** "
* You need to send your unique identifier to your original trusted contacts (recovery partners)
* Each of them must send your back their decrypted share, which they can retrieve -> here <Link directly to retrieve page>
"

Original text: To recover a secret you need to give the identifier you used during backup (usually your ethereum address) to your recovery partners and ask them to retrieve your backup piece and send it to you 

**Section 2: 'Send Identifier'**
**Form input box:** default populated with ethereum address of connected account
**Info box:** "
* Make sure you remember your original partners
* Always use a secure and encrypted channel for sending keys or secret shares
"

**Section 3: 'Decrypted Shares from Partners'**
**Form input box x 3:** empty
**Error-key too short:** ‘This is too short to be a backup piece’
**Error-key too long:** ‘This is too long to be a backup piece’
**Error-invalid hex:** ‘This does not look like a public key. It must be valid hex, containing only the characters 0-9,A-F.’
**Button:** ‘Add one more’
**Button:** 'Remove' (appears only when the user has added one more - ie. there are four or more recovery partners)
**Info box:** "
* To recover your secret you will need just 2 out of 3 decrypted shares from your recovery partners (-> Read more)
"
**Submit button text:** 'Recover'

**LEADS TO>>>**

### SECRET-OWNER: RECOVERY SUCCESSFUL PAGE

### HERO SECTION
Title: ‘A Secret Was Recovered!’

### PAGE BODY
Subtitle: 'Your Secret:'
**Form input box:** contains secret with copy-to-clipboard button beside it

OR

**Error popup:** ‘Cannot recover secret. One of the shares is invalid, or not enough shares’


--------------
## RECOVERY PARTNER: GENERATE PUBLIC KEY PAGE 

### HERO SECTION
**Title:** ‘Generate a Public Key’

### PAGE BODY
**Section 1:** 'Generate a public key to send to a secret owner'
**Info box:** "
* Make sure you are connected to an Ethereum wallet -> Read more
"
**Box:** 'You are connected. (0x49...fe2)'
**Box: Error state** 'Not connected: To generate a key you must connect with an Ethereum wallet such as Metamask or Tally. <Link to learn more>’
**Button:** 'Generate Public Key'

**LEADS TO>>>**

### METAMASK POPUP

**LEADS TO>>>**

**Section 2:** 'Your Public Key'
**Subtitle:** 'Send public key to your partner'
**Form input box:** populated with public key with copy-to-clipboard button beside it
**Info box:** "
* Send this key to the secret owner (the contact who chose you as a recovery partner) so they can encrypt and store their secret
* Always use a secure, encrypted channel for sending keys
"

---------------
## RECOVERY PARTNER: RECOVER A BACKUP PIECE PAGE 

### HERO SECTION
**Title:** ‘Recover a backup piece’
**Subtitle:** 'Help a contact recover a secret'

### PAGE BODY
**Section 1:** 'Decrypt a share from an identifier'
**Info box:** "
* Make sure you are connected to an Ethereum wallet -> Read more
"
**Box:** 'You are connected. (0x49...fe2)'
**Box: Error state** 'Not connected: To generate a key you must connect with an Ethereum wallet such as Metamask or Tally. <Link to learn more>’

**Section 2:** 'Enter the identifier'
**Form input box:** default populated with 'Example: cf61ca...'
**Info box:** "
* Paste here the unique identifier given to you
"
**Button:** 'Decrypt share'

**LEADS TO>>>**

### METAMASK POPUP

**LEADS TO>>>**

**Error:** ‘There doesn’t appear to be a backup piece associated with this lookup key. Check that the lookup key is correct and that you are using the same ethereum account that you used when the backup was created’
 
OR

**Section 3:** 'Decrypted share**
**Subtitle:** 'Send this decrypted share to your partner'
**Form input box:** contains decrypted share with copy-to-clipboard button beside it
**Info box:** "
* Always use a secure, encrypted channel for sending keys
"

