Prepared for Ring certification · Last updated: 9 October 2026
All data is stored in AWS us-east-1 (N. Virginia), encrypted at rest with AWS-managed encryption. Customer data is not stored anywhere else, with these exceptions. On the person’s own device, the app keeps the signed-in email and session token in the phone’s secure storage (iOS Keychain / Android Keystore), or in the browser’s local storage for the web dashboard; the phone also keeps a sign-out the server has not yet confirmed until it can send it, and any CSV report the person chooses to export. Push notifications are delivered to and shown on the phones registered for them, and Apple or Google may hold one until an offline phone reconnects (section 2).
Not stored anywhere: video, images, audio, media clips, snapshots, faces, or biometric data. Ring OAuth tokens are stored server-side in DynamoDB and never reach the browser.
Push notifications. For each phone that allowed notifications, the users row holds its push token, with the platform (iOS/Android), the registering member’s email, a one-way fingerprint of the session it was registered with and its SNS endpoint reference. Amazon SNS, in us-east-1, holds a delivery endpoint with the same token and nothing else. Removing the token from the users row — on sign-out of that session, when the owner removes that member, on account deletion or unlink, when the session it was registered with expires, or at the first send after Apple or Google have refused the token — stops all sending to that phone and deletes its SNS endpoint.
| Hop | Data transferred | Protection |
|---|---|---|
| Ring → Lambda (webhook) | Motion-event timestamp, device id/status, request id | TLS; HMAC-SHA256 signature verified on raw body; dedupe |
| Ring → Lambda (linking) | OAuth code → tokens; account id + email via Users API | TLS; 60-second code; tokens stored server-side only |
| Lambda ↔ DynamoDB | Metadata and derived verdicts | TLS; IAM least-privilege; encrypted at rest |
| Browser ↔ API | Sites, schedules, verdicts for the signed-in account | TLS; bearer session token; per-account scoping + roles |
| Lambda → Resend | Recipient address and message content: sign-in codes, team invitations (which name the inviting owner), account service notices, and — only if the customer turns it on — a weekly summary listing that customer’s own site names and verdict counts | TLS; no video, images or audio, and no Ring device identifiers |
| Phone app → Lambda (push registration) | The phone’s push token issued by Apple or Google and its platform (iOS/Android) — sent only after the person allows notifications; stored on the account’s users row with the registering member’s email and a one-way session fingerprint | TLS; bearer session token; per-account scoping; deleted on sign-out, member removal, account deletion and when Apple or Google reject the token |
| Lambda → AWS SNS | Endpoint registration: the push token only. Each notification: title and body naming the site and the verdict, with visit details such as the schedule name, window, arrival / last-seen times and time on site, plus internal site, schedule and visit ids | TLS; IAM scoped to creating, publishing to and deleting endpoints of ProofClock’s own platform applications |
| AWS SNS → Apple APNs / Google FCM → phone | The push token and the notification (title, body, internal ids) only | TLS; no account ID, email address, Ring device identifiers, video, images or audio |
Erbacci LLC (Wyoming, USA) · Contact: info@erbacciltd.com · ProofClock · Powered by Ring