SciPHR / Architecture overview
Keys on the device.
Trust boundaries you can follow.
SciPHR coordinates identity and transactions around xCIPHR, while the user’s wallet signs locally. This is a guided view of the architecture; the full documentation lives on sciphr.io.
01 / System boundary
Coordination is not custody.
The user’s device
- Master & regular signing keys
- Local transaction review
- Device authorization key
Signs and decrypts locally
SciPHR services
- Prepare unsigned intent
- Verify the signed result
- Broadcast to the ledger
Cannot sign for the user’s wallet
XRP Ledger
- xCIPHR identity anchor
- DID document reference
- Signing authorization state
Validates signed transactions
Ed25519 wallet signing uses device-held keys. The Secure Enclave P-256 key serves device authorization; it is a separate role.
02 / Follow the authority
Three workflows.
One custody boundary.
Select a workflow to trace the handoffs. Arrows show responsibility, with local operations drawn as a loop.
Workflow 01
Create locally. Anchor publicly.
An identity starts with keys on the device. Cloud storage and ledger records make the encrypted backup discoverable without publishing the keys.
Generate & seal
Generate the master and regular signing keys. Encrypt the master into a recovery envelope on the device.
Device · local operationStore the encrypted backup
Send the sealed envelope and public identity document to content-addressed storage.
Device → ServicesAuthorize onboarding
The device signs the onboarding transactions; private signing keys remain local.
Device → ServicesRecord public references
Broadcast the signed transactions. The ledger records the identity anchor and authorization state.
Services → XRP Ledger
Workflow 02
Preparation is separate from permission.
The service can construct a transaction. The device decides whether to sign the intent presented to the user.
Prepare the intent
Return an unsigned transaction for the device to inspect.
Services → DeviceReview & sign locally
Check the transaction, obtain user approval and sign with the device-held regular key.
Device · local operationVerify the signed result
Return the signed transaction for comparison with the prepared intent.
Device → ServicesBroadcast & validate
The service broadcasts; the XRP Ledger validates the signature and transaction rules.
Services → XRP Ledger
Workflow 03
Restore authority on the new device.
The recovery-code path needs the user’s written code and an intact encrypted backup. No SciPHR key participates in this restore.
Read the public reference
Read the NFT’s reference to the encrypted recovery envelope.
XRP Ledger → DeviceFetch & verify the backup
Retrieve the encrypted envelope from off-ledger storage and verify its integrity against the public anchor.
Services → DeviceOpen the backup locally
Use the recovery code on the device to unlock the master key and generate a fresh regular key.
Device · local operationReplace the regular signing key
The recovered master signs the key replacement locally. The ledger must confirm the change.
Device → Services → XRP LedgerProve control again
The fresh regular signing key proves control so the device can be re-registered.
Device → Services
03 / Continue in the reference docs
Go deeper at sciphr.io.
For product details and integration references, use the SciPHR documentation. For the engineering story, read the case study.