← Home Field

Architecture & Data Flow

Home Field Vault, Big Screen, Relay, Uptime, and Gate Log · US-only

Home Field Vault is a serverless application. Its entire job is to move a customer's Ring clips into cloud storage the customer owns: Google Drive, Microsoft OneDrive, or an S3-compatible bucket. It stores no video of its own.

Data storage locations and systems

Google Drive

customer's own account

Holds the video clips if the customer chooses Google Drive. The clips are the customer's property; we use the narrow drive.file scope, so we only touch files our app creates.

Microsoft OneDrive

customer's own account

Holds the video clips if the customer chooses OneDrive. Access is limited to Home Field's own app folder (Apps/Home Field); we cannot touch any other file.

S3-compatible storage

customer's own bucket

Holds the video clips if the customer chooses Backblaze B2, Cloudflare R2, Wasabi, or Amazon S3. The customer supplies an access key limited to that bucket; we test write, read, and delete before saving it, and use it only for Home Field clips in the chosen folder.

Supabase

Postgres · US-East

Holds AES-256-encrypted OAuth tokens and storage access keys, plus clip metadata (camera name, event, timestamp, storage file id, status). Row-level security isolates every user. For Relay, it also holds alert contacts (names, phone numbers, consent records), alert rules, and alert records, in tables only the server can read, plus one snapshot per alert in a private storage bucket. No video.

Vercel

US

Hosts the Next.js application and serverless functions. No customer data is stored at rest here.

Inngest / SendGrid

US

Inngest queues the backup jobs; Twilio SendGrid delivers sign-in codes and recap emails. Neither stores video.

Twilio

US

Carries Relay alert texts and voice calls to the owner and to contacts who accepted an invite, and opt-in alert texts for the other apps. Calls read the alert title with text-to-speech. Twilio receives the phone number and the alert text, never video.

No customer video is ever stored on our infrastructure. Video exists only in the customer's own storage.

Data flow between systems

Ring Partner APIMotion / doorbell event webhook (HMAC-signed) + the recorded clip
→
Home Field backendVerifies the HMAC signature, waits for the recording to finalize, downloads the clip in transit only
→
Customer's own storageGoogle Drive, OneDrive, or S3-compatible bucket. Clip streamed directly in, organized by camera and date
In parallel, minimal metadata about the saved clip (camera, event, timestamp, storage file id, status) is written to Supabase. Encrypted OAuth tokens and storage access keys are read server-side only, to perform the backup. The video itself is never retained by Home Field. It passes through in transit and lands in the customer's own storage.

Home Field Big Screen: live view

Big Screen shows a customer's shared Ring cameras live on a paired Apple TV. Our server handles connection setup (WHEP signaling) only. Live media never passes through Home Field infrastructure.

Apple TVCreates a WebRTC offer and sends it with its device token
→
Home Field backendChecks the device token, signs the offer with the customer's Ring token (kept server-side), and returns Ring's SDP answer
→
Ring WHEP endpointAnswers the offer and opens the live session
Ring media serversLive video and audio
→
Apple TVReceived directly over encrypted WebRTC (DTLS-SRTP); Home Field operates no media relay
The only messages that pass through app.homefield.tv are the SDP offer and answer, and the request that closes a session. The TV uses Google's public STUN servers to discover its network address; the TV is configured with no TURN relay, and Home Field runs no media server, so media has no path through our infrastructure. The TV never holds a Ring token. Session-close requests are HMAC-signed and bound to the TV that opened the session. Revoking a TV in the dashboard stops the server from signing any further requests for it; a session already open ends at Ring's 60-second limit and cannot be renewed.

If the customer also uses Vault, Big Screen can play clips Vault already saved. Those clips stream from the customer's own storage (Google Drive, OneDrive, or S3-compatible bucket) through the Home Field backend to the TV, in transit only, using short-lived signed URLs. They are never stored on our infrastructure.

Home Field Relay: alerts

Relay turns Ring doorbell presses, motion, and offline cameras into text messages and phone calls to the people the customer chooses, in order, until someone acknowledges. Relay records no video and controls no devices.

Ring Partner APIDoorbell, motion, and device offline/online event webhook (HMAC-signed): event type, motion category, time, device id
→
Home Field backendVerifies the HMAC signature, matches the customer's rules (camera, event, schedule, cooldown), and starts the escalation in Inngest
→
TwilioSMS and voice calls to consented contacts, one step at a time, until someone taps Got it or presses 1
Home Field backendFetches one snapshot per alert from Ring's Snapshot API, 10 seconds after the alert is raised
→
SupabasePrivate bucket; the alert page shows the snapshot through a signed URL that expires in 5 minutes
Home Field backendOptional: each alert's id, type, severity, title, details, camera name, time, and alert page link
→
Customer's webhooksHTTPS addresses the customer entered (for example Home Assistant, Slack, or Discord), signed with HMAC-SHA256
Supabase stores the contacts the customer added (names, phone numbers, consent records), the rules and escalation order, and each alert record (title, time, camera name, who was texted or called, who acknowledged). A contact receives one invite text and no alerts until they accept; calls go only to contacts who allowed them, US and Canadian (+1) numbers only, and STOP opts out at any time. Before each POST, the server resolves the webhook host itself and refuses private, loopback, and link-local addresses, and never follows redirects. Disconnecting Relay deletes its rules, alerts, snapshots, webhooks, settings, device records, and Ring tokens; contacts go too unless Home Field Sensors, which shares them, is still connected.

Home Field Uptime: camera status

Uptime tells the customer when a Ring camera stays offline and when it is back, and keeps each camera's uptime history. Uptime receives no video and no snapshots, and controls no devices.

Ring Partner APIDevice offline and online event webhook (HMAC-signed): event type, time, device id. Device status on demand.
→
Home Field backendVerifies the HMAC signature, records the outage, and waits the customer's grace period (10 minutes by default) in Inngest
→
Twilio or SendGridOne text to the owner's verified phone, else one email; a back-online note when the camera returns
Supabase stores each camera's offline and online times, the open outage, the customer's settings, and each alert record. Outage history older than 90 days is deleted automatically. The optional weekly report is an email through SendGrid. Disconnecting Uptime deletes its outage history, camera status, settings, alerts, device records, and Ring tokens.

Home Field Gate Log: arrivals

Gate Log keeps a log of the vehicles, people, and doorbell presses Ring reports on the cameras the customer shares, with one Ring snapshot per entry. It reads no license plates, identifies no one, uses no AI, records no video, and controls no devices.

Ring Partner APIDoorbell and motion event webhook (HMAC-signed): event type, motion category (person or vehicle), time, device id
→
Home Field backendVerifies the HMAC signature, adds an entry or merges a repeat from the same camera within the merge window
→
SupabaseEntry record; one snapshot from Ring's Snapshot API in a private bucket, shown through signed URLs that expire in 5 minutes
Home Field backendOptional: an arrival during the customer's quiet hours
→
TwilioA text to the owner, or texts and calls down the escalation order the customer picked, until someone taps Got it
Entries and snapshots are deleted after 90 days, and raw event notifications after 90 days. The optional daily summary is an email through SendGrid. Contacts are shared with Relay and Sensors and follow the same invite and STOP rules. Disconnecting Gate Log deletes every entry, snapshot, setting, alert, escalation order, device record, and Ring token; contacts go too unless another app that shares them is still connected.

Home Field is a third-party app and is not affiliated with, endorsed by, or sponsored by Ring or Amazon. Ring is a trademark of Ring LLC. Google Drive is a trademark of Google LLC. OneDrive is a trademark of Microsoft Corporation.