Pairing and Security
- The iPad discovers a Camera Node and the user selects it.
- A challenge valid for two minutes generates the same six-digit verification code on both peers.
- The user compares and approves both displays. Rejection or expiration creates no trust.
- Devices exchange Curve25519 public identities and save a fingerprinted trust record.
- Private keys use
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; persistent trust records also use Keychain storage. - Reconnect validates peer identifier and public identity before restoring state.
Authenticated messages use a Curve25519 shared secret, HKDF-SHA256 domain separation, and ChaChaPoly. The envelope protocol version, authenticated ciphertext, random AEAD nonce, unique message identifier, sender timestamp, and increasing control sequence provide integrity and replay resistance. Invalid authentication, identity changes, malformed data, oversize data, and sequence replay are rejected.
Forgetting a device marks trust revoked and prevents automatic reconnect. Re-pairing requires a new visible verification. OrganicVision never logs private keys, secrets, raw video, session notes, or coordinates. Physical security still depends on iOS device security, Keychain availability, a trusted local network, and users rejecting mismatched codes.