Beta Test Plan (#36)
All checks were successful
/ mirror (push) Successful in 4s

Co-authored-by: stcb <21@stcb.cc>
Reviewed-on: #36
Co-authored-by: ange <ange@yw5n.com>
Co-committed-by: ange <ange@yw5n.com>
This commit is contained in:
ange 2025-02-19 13:46:04 +00:00 committed by stcb
parent 6ada4f6e5c
commit 21f470a464

95
docs/BetaTestPlan.md Normal file
View File

@ -0,0 +1,95 @@
# Beta Test Plan
## Core Features
### Icing protocol
- Handshakes
- ECDH
- Compression
- Audio error correction
- In-call pubkey share
- Trust shifts
### Icing dialer (based on Icing kotlin library, an Icing protocol implementation)
- Call
- Encrypted if public key available
- Allows users to share their public keys
- Normal call if conditions unment
- Encrypted and clear DTMF transmission
- SIM choice on call
- Call history
- Contacts
- Contact creation / editing
- Contact sharing via QR code / VCF
- Contact search
- Favorite contacts
- Storage of user public keys
- Blocked number
- Contact preview (picture, number, public key...)
- Visual voicemail
- Play / Pause
- Notification
- Quick link to call, text, block, share number...
- SIM settings
- Default SIM choice
- Asymetric Keys
- Secure storage
- Generation at startup if missing
- Full key management
- Secure generation
- Exportation on creation (insecure generation)
- Importation
- Trust shift
## Beta Testing Scenarios
- Clear call from Icing dialer to another dialer (Google, Apple...)
- Clear call from Icing dialer to another Icing dialer
- Clear call from Icing dialer to an icing pubkey-known contact but without Icing dialer
- Encrypted call from Icing dialer to a known contact with Icing dialer
- Encrypted call from Icing dialer to an unknown contact with Icing dialer
- Create / Edit / Save contact with(out) public key
- Share contact as QR code / Vcard
- Import contact from QR code / Vcard
- Listen to voicemail
- Record encrypted call and check the encryption
- Change default SIM
## User Journeys
Mathilda, 34 years-old, connects to her PayPal account from a new device.
To authenticate herself, PayPal sends her a code on her voicemail.
Mathilda being aware of the risks of this technology, she has set up strong Icing authentication with her network provider by registering a pair of her Icing public keys.
When she calls her voicemail, Icing protocol is triggered and checks for her key authentication ;
it will fail if the caller does not pocesses the required Icing keys.
Mathilda is thus the only one granted access, and she can retreive her PayPal code securely.
Jeff, 70 years-old, calls his bank after he had a problem on his bank app.
The remote bank advisor asks him to authenticate, making him type his password on the phone dialer.
By using the Icing protocol, not only would Jeff and the bank be assured that the informations are transmitted safely,
but also that the call is coming from Jeff's phone and not an impersonator.
Elise is a 42 years-old extreme reporter.
After interviewing Ukrainian opposition's leader, the SBU (ex KGB) are looking for her accross the whole country.
She hides in western moutains near Romania, and she barely receive cellular network.
She suspects her phone line to be monitored, so the best she can do to call for extraction safely, is to use her Icing dialer.
Paul, a 22 years-old developer working for a big company, decides to go to China for vacations.
But everything goes wrong! The company's product he works on, is failling in the middle of the day and no one is
qualified to fix it. Paul doesn't have WiFi and his phone plan only covers voice calls in China.
With Icing dialer, he can call his collegues and help fix the
problem, safe from potential Chinese spies.
## Evaluation Criteria
- Can a private key be generated
- Can a normal call be made?
- Can an encrypted call be made?
- Can a contact be created / edited / imported / exported?
- Can a voicemail be listened to?
- Is the encryption fast enough, light enough to be usable (audible call)
- Is the encryption strong enough not to be deciphered by a modern (as of 2025)
supercomputer?