System Architecture

Last updated: July 12, 2026

Overview

videoArchiver is a serverless micro-SaaS built on Cloudflare Workers, Cloudflare Queues, and Supabase. The system is designed around a zero-data-retention principle: video clips are streamed directly from Ring to the user's cloud storage in-memory and are never persisted on videoArchiver infrastructure.

1. Data Storage Locations and Systems

videoArchiver relies on a secure, serverless infrastructure designed to avoid storing user video recordings on our own systems. Here are the core data storage locations and systems:

  • User-Connected Cloud Storage: Your video clips are archived directly to your own personal storage provider (Google Drive, with Dropbox and AWS S3 planned). videoArchiver does not maintain any persistent video storage servers of its own.
  • Database Metadata (Supabase): User account details, linked device configurations, encrypted OAuth tokens, and event log metadata are stored securely in a relational database (Supabase) located in AWS US-East.
  • Stateless Execution Cache (Cloudflare KV): Temporary OAuth flow states and webhook HMAC validation keys are cached using Cloudflare Workers KV, which resides globally across Cloudflare's edge network.

2. Data Flow Between Systems

Our integration follows a secure, automated data flow pipeline when a camera event triggers:

  1. Webhook Event: A Ring device triggers an event (motion detection or doorbell ring), which sends a secure webhook payload to our Webhook Worker.
  2. Verification and Enqueueing: The Webhook Worker validates the HMAC signature on the payload to verify authenticity, then places the event task onto a Cloudflare Queue.
  3. Token Retrieval and API Request: The Processor Worker consumes the task from the queue, retrieves the user's encrypted OAuth tokens from the Supabase database, and requests the temporary clip download URL from the Ring API.
  4. Direct In-Memory Stream: The Processor Worker fetches the video file from Ring and streams the chunks directly to your connected cloud storage destination (Google Drive) in-memory over HTTPS. The video file is never written to disk or stored on our servers.
  5. Event Logging: Once the transfer is completed, the Processor Worker logs the success or failure status back to Supabase for the user's dashboard view.

3. Infrastructure Summary

Compute: Cloudflare Workers (serverless, global edge)

Queue: Cloudflare Queues (at-least-once delivery, DLQ for failures)

Database: Supabase (PostgreSQL with Row-Level Security)

Cache: Cloudflare Workers KV (OAuth state, HMAC keys)

Frontend: Nuxt 4 SPA hosted on Cloudflare Pages

Email: Resend (transactional email delivery)

Monitoring: Sentry (error tracking and performance monitoring)