From a Ring motion event to the notification on your phone — every hop, every store, and every retention window.
All hops encrypted in transit (TLS 1.2+). All stores encrypted at rest (AWS-managed encryption).
| System (AWS us-east-1) | What it stores | Retention |
|---|---|---|
| DynamoDB — users | Account record: Ring account link, encrypted OAuth tokens, email, notification settings, per-camera mail status | Until unlink or account deletion |
| DynamoDB — events | Event records: timestamp, device ID, category (mail delivered / package / mailbox visited), carrier type, confidence, label | Auto-expire after 90 days; deleted earlier on unlink/ |
| DynamoDB — sessions / nonces / dedup | Login sessions, one-time linking nonces, webhook de-duplication keys | Short-lived / TTL-expired |
| S3 — snapshots (private bucket) | One still image per alert-worthy event (public access blocked, encrypted at rest) | Auto-deleted after 90 days; purged immediately on unlink/ |
| Lambda bundle (static site) | This site, the web dashboard, privacy policy, terms — no customer data | n/a |
| CloudWatch | Application logs (system events, processing outcomes — no media, credentials redacted) | Per logging configuration |
| Ring camera video | Not stored. Only the single analyzed still per alert event is kept (see S3 row); continuous video never touches our systems | — |
User, event, and session tables have point-in-time recovery enabled. Encryption at rest uses AWS-managed keys; all traffic is TLS 1.2+. Access is restricted to least-privilege IAM roles; no human review of customer media occurs.