How Verity Works
Simple to use. Technically robust. Privacy by design.
Configure Your Storage
Download the Verity app and connect your cloud storage accounts. We support Google Drive, Dropbox (via easy OAuth sign-in), plus Amazon S3, Backblaze B2, and Google Cloud Storage for power users.
Your credentials are stored securely in your device's keychain and encrypted before transmission. We never store your credentials on our servers. OAuth providers (Google Drive, Dropbox) use industry-standard PKCE flow—your password is never shared with us.
You can configure multiple destinations for redundancy. If one fails, your video still uploads to the others.
API credentials are encrypted with AES-256-GCM. OAuth tokens are stored in your device's secure enclave (Keychain/EncryptedSharedPrefs). All credentials exist in decrypted form only in volatile memory during the brief upload operation.
Start Recording
When you need to record, open the app and tap the record button. A dead man's switch (optional) requires a passcode to stop recording, preventing forced stops.
The moment you hit record, video begins streaming to your cloud destinations. There's no waiting, no buffering on device.
Your phone encodes video into small chunks (3 seconds each), computes a SHA-256 hash for each chunk, and sends them through our relay.
Our double-buffered writer architecture ensures zero frame loss at segment boundaries—unlike standard apps that lose 100+ ms per chunk. Each segment is independently playable H.264 with AAC audio.
Real-Time Upload
As you record, chunks stream through our Cloudflare relay directly to your storage destinations. The video passes through in memory only—we never write it to disk.
Your encrypted credentials are decrypted in memory just long enough to authenticate the upload to your storage provider. Then they're immediately cleared.
If your network is spotty, chunks are buffered locally and uploaded when connection returns.
Our relay runs on Cloudflare Workers at the edge for minimal latency. Video exists in worker memory for milliseconds before being forwarded to your S3/B2/GCS bucket.
Chain of Custody
Every chunk receives a cryptographic attestation:
• SHA-256 hash of the chunk content • Link to the previous chunk's hash (forming a chain) • Timestamp when we received it • Digital signature from our relay
This creates a tamper-evident record. If anyone modifies your video, the hash chain breaks and tampering is detectable.
Attestations are stored with three-tier redundancy: primary database (D1), hot backup (R2), and weekly off-provider backup (Backblaze B2). Your chain of custody survives any single point of failure.
Evidence Preserved
When you stop recording (or if your phone is taken mid-recording), everything already uploaded is safe in your cloud storage.
You can view your recording history in the app, see which chunks uploaded to which destinations, and access your attestation records.
Anyone with the session ID can independently verify the integrity of your recording using our public verification tool.
Session data is stored locally on your device. The attestation endpoint is public—anyone can verify a chain without authentication if they have the session ID.
System Architecture
The complete data flow from recording to preservation.
Your Device
All processing happens on-device. We never see raw video.
Cloudflare Relay
(Edge)Attestation Storage
Three-tier redundancy:
Your Cloud Storage
- Your video files
- Your credentials
- Your control
No Server to Break Into
Most services run on traditional servers—computers with operating systems, hard drives, and remote access. Our relay doesn't. It runs on Cloudflare Workers, a fundamentally different kind of infrastructure.
No server, no target
There's no operating system, no remote access, no open ports. Traditional servers have dozens of ways in—our relay has none. There's nothing for an attacker to break into.
No disk, by design
Our code runs in isolated sandboxes with no access to a hard drive. Your data physically cannot be written to disk—not by us, not by an attacker, not by anyone.
Gone in milliseconds
Each request gets its own sandbox that's destroyed the moment it finishes. There's no long-running process to monitor, no memory to inspect after the fact. Your data passes through and vanishes.
Common Questions
What if I lose internet connection?
Chunks are buffered locally and uploaded when connection returns. However, if your phone is powered off or the app is closed before upload completes, buffered chunks may be lost. We recommend stable connectivity for critical recordings.
Can you see my videos?
No. Video passes through our relay in memory only and is immediately forwarded to your storage. We have no persistent storage of video content. We also don't store your credentials—they're decrypted in memory just long enough to authenticate the upload.
Will my recording be admissible in court?
We cannot guarantee admissibility. Courts determine admissibility based on many factors including how the recording was obtained, jurisdiction, and authentication requirements. Our attestation helps demonstrate integrity (that the video hasn't been altered) but is not a guarantee of legal admissibility. Consult an attorney for legal questions.
What cloud storage do I need?
For easiest setup, use Google Drive (15GB free) or Dropbox (2GB free)—just sign in with OAuth. For power users, we support Amazon S3 (~$0.023/GB/month), Backblaze B2 (~$0.005/GB/month), and Google Cloud Storage. One hour of 720p video is approximately 500MB-1GB.
How can I verify Verity works as claimed?
We publish detailed documentation of our architecture, security model, and privacy design. Security researchers are welcome to audit our implementation—contact security@myverity.app. Anyone can verify a recording's integrity using our public verification tool.
Ready to Get Started?
Download the app, connect your storage, and start recording with confidence.