Encrypted AI Inference
Classify text without exposing it
Stays local
Text never leaves browser
Encrypted
Only ciphertext sent
Split across nodes
No node sees full data
Only result returned
Input stays secret
Loading AI model into browser...
Inference Pipeline
Tokenize & Embed
Text is converted into a numerical representation using a neural network that runs entirely in your browser.
all-MiniLM-L6-v2 (ONNX) → 384-dim sentence vector
Runs locally — no data leaves your device
Compress & Quantize
The 384-dimensional embedding is reduced to 16 dimensions via PCA, then converted to fixed-point integers.
PCA (384→16) → Q16.16 fixed-point → 16 integers
Still local — dimensionality reduction happens in-browser
Encrypt
Each of the 16 quantized values is encrypted using a shared secret derived from x25519 key exchange with the MPC cluster.
x25519 + RescueCipher → 16 × [u8; 32] ciphertexts
Ciphertexts are indistinguishable from random — nobody can read them
Submit to Solana
A Solana transaction carries the encrypted payload on-chain and queues MPC computation with the Arcium cluster.
classify_reveal IX → queue MPC via CPI → computation account created
Only ciphertext + your public key touch the blockchain
MPC Inference
Arcium’s MPC nodes secret-share the encrypted data and evaluate the neural network collaboratively — no single node ever sees the input.
16→16→8→2 NN, x² activation, 426 params, ~10 MPC rounds
Computed on secret-shared fragments across multiple nodes
Result
The MPC cluster emits the classification result (positive or negative) via a Solana callback transaction event.
Callback TX → ClassificationRevealedEvent(class=0|1)
Only the label is revealed — your input was never exposed