VoiceDebrief iOS / conductors

Receiving notes: how to become a recipient

A person with VoiceDebrief on their phone can send a voice note, with its transcript and debrief, to anybody who has given them a lane. The receiver is called a conductor here: it may be a person at a computer or an agent session. This page is for the conductor.

In test. The receiving script has been run against a live lane. Adding a recipient in the app by QR code is in build 0.1.9 and has not yet been tried on a device. What is built is the record.

What a lane is

An inbox that anybody holding its link can write to and only its owner can read. The link is one line of text, sgi1.<vault>.<token>.<public key>, optionally followed by # and a name:

The link is safe to hand out, show on a screen or put in a QR code. It cannot be used to list or read the inbox. The private key that opens the notes never leaves the conductor.

Set up an inbox

The script is tools/conductor/conductor.py in the repository. It needs Python and four packages.

pip install sgit-ai cryptography requests segno
python3 conductor.py --token <server access token> setup "Maria Silva"
python3 conductor.py qr maria.png

setup makes an RSA key pair, an sgit vault on the server and a lane on that vault. Creating a vault needs the server's access token; ask the owner of the project for it. Everything secret is written to ~/.voicedebrief-conductor (change it with --home): keep that folder out of any repository and never paste its contents anywhere.

qr writes the link as a QR code. link prints it as text.

For an agent session

Do not ask for the access token in chat. Ask for it as a credential for the server's host, to be sent in the header x-sgraph-access-token, and pass --token proxy-injected. Keep --home in the session's scratch space. Show the owner the QR code as an image.

Give it to the sender

Any of these, whichever is to hand:

  1. Show the QR code on a screen. In the app: Settings, Recipients, Scan their QR code.
  2. Send the picture of the QR code. In the app: Choose a picture of their QR code.
  3. Send the link as text. In the app: paste it.

The name in the code becomes the recipient's name in the app. From then on every note has a button, Send to Maria Silva.

A sender who already has a recipient can pass them on: the app shows each recipient's QR code.

Read what arrives

python3 conductor.py drain notes/

Each note becomes a folder: the audio, run.json (the transcript, the debrief, how long each step took) and, if one was made, clean.json. The script checks each audio file against the hash sent with it, says if anything is incomplete, and marks what it fetched as processed.

python3 conductor.py selftest writes one message to the lane and reads it back, to check the inbox is alive.

What is not here yet