🦎 Wildlife Spotter

Home

Privacy Policy

Effective date: April 2026

Wildlife Spotter is an application that identifies animals on your Ring cameras. This policy describes what data is collected and how it is stored.

What we collect

When your Ring camera detects animal motion, Wildlife Spotter stores the following data:

Event metadata — device name, event timestamp, detected species, confidence level, and Claude's visual reasoning text. Stored in a private Cloudflare D1 SQLite database. Retained indefinitely (rows are small; no personal information is in them).

Snapshots — JPEG images of the moment of detection, downloaded from Ring and stored in a private Cloudflare R2 bucket. Automatically deleted after 90 days by a scheduled cleanup job. Images are of outdoor scenes captured by your own cameras.

Ring account tokens — OAuth access and refresh tokens for your linked Ring account, stored encrypted at rest in Cloudflare D1. Used solely to fetch snapshots and video clips on demand.

What we do not collect

We collect the email address you use to sign up. We do not collect other personal identifying information beyond what is inherent in your Ring account. We do not store video files — video clips are fetched from Ring on demand when you click "Play" and are never written to disk.

Data sharing

We do not sell, share, rent, or otherwise disclose your data to any third party. Snapshots are sent to Anthropic's Claude API for classification; Anthropic's own privacy policy governs that processing. No other third parties receive your data.

Where your data is stored (storage locations and systems)

All data is stored on Cloudflare's infrastructure. Event metadata and AI classifications are kept in Cloudflare D1 (a managed SQLite database); camera snapshots are stored in a private Cloudflare R2 bucket; and your Ring OAuth tokens are stored encrypted in Cloudflare D1. The application runs as a Cloudflare Worker. Ring token-refresh requests are routed through a dedicated proxy hosted on Fly.io. No data is stored on personal servers or shared databases, and video files are never stored.

How your data flows (data flow between systems)

When your Ring camera detects motion, Ring sends a signed webhook to our Cloudflare Worker. The Worker pulls the relevant camera frame(s) from Ring's Partner API, sends the image(s) to Anthropic's Claude vision API for species classification, then writes the snapshot to Cloudflare R2 and the event metadata and classification to Cloudflare D1. The result is rendered to your private, authenticated dashboard, and an optional Telegram alert is sent for animal detections. Video clips are fetched from Ring on demand only when you press "Play" and are never written to disk. OAuth token refreshes are routed through the Fly.io proxy to Ring's servers.

Deleting your account and data

You can permanently delete your account and all associated data at any time from within the app: open Settings and use "Delete account." This immediately and irreversibly removes your event history, camera snapshots (from Cloudflare R2), AI classifications, linked Ring integration tokens, and your account record. Unlinking the Ring integration first is not required, and deleted data cannot be recovered or surfaced by re-linking a Ring account later.

Access

Only the account holder (you) can view data stored by this application. The dashboard is protected by your account credentials.

Contact

Questions: sfeis111@gmail.com