Problem Protocol Architecture Security Compliance FAQ Join Waitlist
a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6 a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6a3f8c2e1b9d047f6
Zero-Knowledge Protocol v1.0

Prove reality,
don't detect fakes

PRAMA is a cryptographic alibi engine that mathematically proves where you were, when you were there — producing court-admissible evidence that survives hostile legal scrutiny.

0
Bytes of plaintext stored
2
Hour blockchain anchor
2%
Max daily battery drain
~3ms
Per snapshot (Rust core)
Scroll
The Problem

Detection is dead.
Proof is the only path forward.

By 2026, synthetic media has become indistinguishable from reality. Traditional deepfake detectors operate on probabilistic AI — they can be fooled, they have error rates, and they collapse under cross-examination. PRAMA inverts the paradigm entirely.

Detection Fails

AI-based deepfake detectors have non-zero error rates. Under the Daubert Standard, they can be disqualified as unreliable scientific evidence.

Location Spoofing

GPS spoofing apps, VPN fakery, and emulator farms can fabricate any digital trail. A simple screenshot of Google Maps is no longer evidence.

Privacy Destruction

Existing "alibi" tools upload raw GPS coordinates to cloud servers — creating honeypots of sensitive location data vulnerable to breach and subpoena.

The PRAMA Paradigm

Don't try to detect the lie.
Cryptographically prove the truth.

PRAMA generates a continuous, immutable chain of cryptographic proofs anchored to the Arbitrum blockchain — proving your physical presence without ever revealing your location to anyone.

Protocol Flow

Six phases. Zero doubt.

01
Phase A — Onboarding

Key Generation & Identity

User authenticates via Keycloak OAuth2. The Rust crypto core generates a localized AES-256 Master Key and outputs a 12-word seed phrase. Even if the device is destroyed, the user can recover their entire encrypted timeline.

Keycloak JWT AES-256 12-Word Seed
02
Phase B — Reality Snapshot

Hardware Sensor Fusion

Every 5 minutes (or on significant motion triggers), native hardware bridges scrape GPS, Wi-Fi BSSIDs, barometric pressure, cell tower IDs, and biometric state. Apple/Google attestation proves the device is physical silicon, not an emulator.

GPS + Barometer Wi-Fi BSSIDs Cell MCC/MNC Biometric Binding OEM Attestation
03
Phase C — Superhash & Encryption

The Cryptographic Core

Each data point is individually SHA-256 hashed, then combined into a single Master Superhash. Raw JSON is encrypted with an AES key derived from the seed phrase via HKDF — the key never leaves the device. The encrypted blob is wrapped in a Curve25519/ECDH envelope for transport.

SHA-256 HKDF Curve25519/ECDH Selective Disclosure
04
Phase D — Cloud Ingestion

Zero-Knowledge Buffer

Payloads arrive via TLS 1.3 through AWS API Gateway (WAF + rate limiting). IP addresses are scrubbed post-validation. The ingestion API verifies hardware attestation and Ed25519 signatures, unlocks the outer envelope, and queues the AES blob to Redis. The server cannot read your data.

TLS 1.3 IP Scrubbed BullMQ/Redis Anti-SIM Swap
05
Phase E — Blockchain Notarization

The Immutable Anchor

Every 2 hours, a background relayer collapses millions of Superhashes into a single Merkle Root and anchors it to Arbitrum L2. RPC fallback arrays (Alchemy → Infura → QuickNode) guarantee the anchor never misses a block. Each user receives an individual Merkle Proof for offline verification.

Merkle Tree Arbitrum L2 AWS KMS RPC Fallback
06
Phase F — Courtroom Verification

100% Cryptographically Verified Truth

The Rust core generates a C2PA-compliant PDF with embedded cryptographic metadata. Third parties (judges, lawyers) visit verify.prama.id, input the Superhash, and the portal queries Arbitrum directly. If the hash aligns with the on-chain Merkle Root, the system outputs mathematical certainty.

C2PA Metadata BSA §63 Format verify.prama.id
Curve25519/ECDH Transport Envelope
Superhash: a3f8c2e1...b9d047f6
AES-256 Encrypted Payload
U2FsdGVkX1+3v8xJ2mNqPwRtY7uFkLhZ0BcDxEgH5iJ8kLnMqOaWsTdVyBrCfA...
Key derived from 12-word seed via HKDF — never transmitted
Client-Side Only Server can unlock outer shell only
Hybrid Envelope Encryption

Two layers of encryption.
Zero points of failure.

Curve25519 can't encrypt large payloads. AES needs a secure key exchange. PRAMA's hybrid solution uses HKDF to derive an AES-256 key from your seed phrase locally, encrypts the heavy sensor JSON, then wraps only the hash + ciphertext in an ECDH envelope for transport.

AES key never leaves the device — server physically cannot read location data

Individual hash structure enables Selective Disclosure in court

Even a full database breach yields zero PII and zero readable locations

System Architecture

Six decoupled tiers. Maximum isolation.

Each tier is independently scalable, deployable, and securable. A breach in one tier cannot cascade to another.

Tier 1

The Edge

Client-side processing — all cryptography happens here.

prama-mobile-ui (Flutter)
prama-hardware-bridge (Kotlin/Swift)
prama-crypto-core (Rust/FFI)
prama-local-vault (SQLCipher)
prama-legal-export
Tier 2

Security & Identity

Authentication, attestation, and key management.

prama-iam-server (Keycloak)
OEM Attestation (Apple/Google)
prama-kms (AWS HSM)
Cloudflare Roughtime
Tier 3

High-Throughput Ingestion

Traffic handling, rate limiting, and attestation verification.

AWS API Gateway (WAF)
prama-ingestion-api (Fastify)
prama-redis-queue (BullMQ)
Tier 4

Persistence & Processing

Encrypted storage with automated cold archiving.

prama-db-worker (Prisma)
prama-ledger-db (PostgreSQL)
Monthly Partitioning
S3 Glacier (12mo+)
Tier 5

Decentralized Trust

Immutable blockchain notarization with fallback arrays.

prama-blockchain-relayer (Cron)
Alchemy RPC → Arbitrum L2
RPC Fallback (Infura/QuickNode)
Tier 6

Public Access

Third-party verification portal for legal stakeholders.

prama-verification-portal (Next.js)
verify.prama.id
On-chain Merkle Verification
Threat Mitigation

Every attack vector. Architecturally neutralized.

Fused hardware scraping natively cross-references GPS with Cellular Tower IDs (MCC/MNC) and 3D Wi-Fi BSSIDs. A spoofed GPS coordinate cannot simultaneously fabricate the correct cell tower triangulation and the exact list of nearby Wi-Fi access points with accurate signal strengths.
Apple App Attest and Google Play Integrity APIs mathematically verify the physical silicon of the device. Every payload must include a live hardware attestation token. Simulated environments, Python scripts, and server farms are permanently rejected at the ingestion layer.
PRAMA bypasses the local OS clock entirely. Cloudflare's Roughtime protocol provides an unalterable, third-party cryptographic timestamp signature. Offline, the engine uses the Hardware Monotonic Clock (Elapsed Realtime) to calculate exact durations since the last anchor. System reboots trigger re-verification flags.
Biometric Binding incorporates background Apple Watch heart rate data, WearOS wrist-detection, and FaceID/TouchID authentication timestamps into the snapshot. This proves continuous physical proximity between the human and the device.
Snapshots continue to generate and queue securely in the local SQLCipher vault during connectivity loss. Upon reconnecting, the app performs bulk sync with the ingestion API. The alibi timeline remains unbroken regardless of network conditions.
The central ledger stores only AES-encrypted blobs and Superhashes. The identity layer (Keycloak) is logically and physically isolated from the ledger. An attacker with full database access yields zero plaintext locations, zero PII, and cannot map any hash back to a human identity. The known data exposure is mathematically zero.
Selective Disclosure

Prove what matters.
Hide everything else.

Because each data point is individually hashed before being combined into the Superhash, the Merkle structure enables granular disclosure. Need to prove you were at a hotel? Reveal only the location hash. Your connected Wi-Fi networks, nearby Bluetooth devices, and biometric data remain permanently hidden.

This is cryptographic privacy by design — not a policy, not a promise, but a mathematical guarantee enforced by the hash structure itself.

Merkle Disclosure Structure
Superhash (Root)
Location Hash
← Disclosed
Wi-Fi Hash
← Hidden
BT Hash
← Hidden
Bio Hash
← Hidden
Merkle Proof verifies location belongs to root
without revealing sibling hashes
Rust Flutter Kotlin Swift TypeScript Fastify Prisma PostgreSQL Redis SQLCipher Next.js Arbitrum L2 AWS KMS Cloudflare Roughtime Curve25519 SHA-256 C2PA Rust Flutter Kotlin Swift TypeScript Fastify Prisma PostgreSQL Redis SQLCipher Next.js Arbitrum L2 AWS KMS Cloudflare Roughtime Curve25519 SHA-256 C2PA
FAQ

Frequently asked questions

PRAMA uses an Event-Driven Hybrid Trigger model instead of relying on BGProcessingTask, which iOS silently throttles. Snapshots trigger on startMonitoringSignificantLocationChanges (cell tower changes), applicationProtectedDataDidBecomeAvailable (device unlock), and Apple Watch HealthKit background observers. Users can toggle "High-Security Mode" for continuous minute-by-minute tracking at the cost of battery and the OS background indicator.

Your historical data is permanently unrecoverable. This is a feature, not a bug. We strictly enforce Zero-Knowledge boundaries — there is no "Forgot Password" backdoor for the AES key, because such a backdoor would make the key subject to court subpoena. You can perform a "Hard Identity Reset" to register a new public key and start fresh.

Our strict KPI is less than 2% battery drain per 24 hours. The Rust crypto core has no garbage collector and completes SHA-256 hashing + AES encryption in approximately 3 milliseconds, instantly returning the background thread to sleep. Heavy computation never triggers OS background throttling limits.

This decision is driven by cryptography, not UI preferences. We need a unified Rust Core for all hashing to ensure cross-platform blockchain verification consistency. Flutter has a production-ready flutter_rust_bridge library with zero C++ boilerplate. React Native requires JSI C++ glue code which is prone to memory leaks in cryptographic operations.

Two layers: (1) API Gateway rate limits to 5 payloads per minute per user DID. (2) Every payload must include a live Apple App Attest or Google Play Integrity token. Without a valid hardware signature from Apple or Google, the Fastify server drops the request instantly. It is impossible to spoof data from a laptop or server farm.

PRAMA is positioned as a "Personal Security & Legal Vault," not a tracking app. Onboarding includes un-skippable data minimization prompts stating that location data never leaves the device unencrypted. The app includes a Privacy Dashboard showing local SQLite vault storage with a prominent "Delete All My Data" button. Android uses a Foreground Service with a persistent notification ("Prama: Reality Protection Active").

Early Access

The truth deserves
mathematical proof.

PRAMA is currently in closed development. Join the early access waitlist for priority onboarding when we launch.

NO SPAM. YOUR EMAIL IS NEVER SHARED. ZERO-KNOWLEDGE PRINCIPLES APPLY TO OUR MARKETING TOO.