Back to SightRoll

Privacy

What SightRoll does — and doesn't — do with your footage

SightRoll is built around on-device processing. This page documents exactly what data moves where, in plain language.

Last updated: October 2026

On-Device Mode (default)

Local AI analysis runs on your Mac using MLX and llama.cpp. Experimental V2 indexes video, audio and text locally with EmbeddingGemma 2. Turning on cloud analysis, an external agent or encrypted sync is a separate choice, with the data flows described below.

Video filesNever copied off-disk
Preview framesProcessed locally; cached thumbnails stay on your Mac unless you enable a feature that sends them
DescriptionsStored in your local SQLite catalog; included in optional encrypted catalog sync
EmbeddingsStored in your local SQLite catalog; V2 embeddings are included in optional encrypted sync
Internet requiredFor the initial model download. Local analysis and catalog search can then run offline

Encrypted Sync (opt-in)

Enable Cloud Sync in Settings to synchronize catalog descriptions, scene information and V2 embeddings between your devices. Catalog data is encrypted on your device before upload; only devices with your encryption key can decrypt it.

Publishing encrypted video streams is another switch. It uploads encrypted proxy streams for remote playback and uses your plan’s storage. Original camera files stay on their drive.

Cloud Mode (opt-in)

Director Cloud sends a small number of JPEG preview frames per scene to our cloud vision provider (Google's Gemini API) for faster analysis. Your original video files never leave your drive.

What's sentJPEG preview frames (~3–6 stills per scene), scene timecodes, and a text prompt
What stays localOriginal video files — never copied off-disk
Derived textRaw description stored temporarily on our servers; purged immediately when your Mac acknowledges receipt
BackstopAny unacknowledged rows (e.g. client crash) are deleted after 7 days by an automated purge job
Model trainingDirector Cloud runs on Google Gemini via a paid API plan. Google's API data usage policies apply — see google.com/intl/en/policies/privacy

Director Cloud is disabled by default. You enable it per-scan by selecting "Director Cloud" in the processing model picker. If you're working with NDA'd or sensitive material, stay on-device.

Crash Diagnostics (Sentry)

SightRoll sends anonymous crash reports to Sentry to help us fix bugs. This applies to both on-device and cloud mode.

What's sentStack traces, Swift error types, app state at time of crash
File pathsRedacted — replaced with [path] before leaving your Mac
FilenamesRedacted — video filenames replaced with [file] before leaving your Mac
Video contentNever sent — not even descriptions or transcripts
User identityNot attached to crash reports (sendDefaultPii = false)

External Agents (Bring Your Own Agent)

With a licence or subscription you can let Claude Code or Codex, installed and signed in on your Mac, act as Director. Off by default, behind its own consent in Settings. SightRoll launches the agent locally and serves it your catalog tools over a loopback connection; the agent's provider receives what you type and the clip titles, descriptions and scene notes the agent asks for, under your own plan and that provider's terms.

Video filesNever sent. Frames of clips SightRoll has not analyzed can be sent only if you turn that on separately; a few small stills per clip, capped per message.
SightRoll cloudNot used for these turns; no SightRoll credits are spent.
Usage countsTurns, deliverables, tool calls and frames sent, sent with a salted hash of your licence key or account id. No content. The hash is pseudonymous, not anonymous: we can match it back to the licence or account it came from, and nothing else. Off with one switch in Settings.
Model trainingGoverned by the provider you signed in with (Anthropic or OpenAI) and your plan's terms, not by SightRoll.

Website Cookies & Analytics

This marketing website (separate from the app) uses Mixpanel for product analytics — autocapture of clicks/scrolls/page views for heatmaps, plus session replays, with text you type masked — and Google Analytics 4 for aggregate traffic measurement. Both run only after you opt in via the cookie banner; choose "Reject non-essential" and neither is loaded or stored.

Strictly necessaryAlways on — basic functionality and your cookie choice (stored in localStorage). No tracking.
Analytics & session replayOpt-in only — Mixpanel. Captures interactions and replays; text you type is masked.
Change your choiceUse "Cookie Preferences" in the footer at any time.

Account Data (Supabase)

If you use cloud mode, you create an account. Your account credentials are stored in Supabase (supabase.com).

StoredEmail address, hashed password or OAuth token, credit balance
Inference retentionDelivered cloud-analysis descriptions are removed from inference jobs after acknowledgement. Optional encrypted sync separately retains ciphertext containing catalog descriptions, scenes and V2 embeddings.
Original files and queriesOriginal camera files are not stored in the account database. Local Library search queries are processed on your Mac.
RetentionAccount data retained until you request deletion

Sub-Processors

Google GeminiVision AI behind Director Cloud — receives preview frames only. Director Cloud users only.
MixpanelWebsite product analytics and session replay. Website visitors who opt in only — never the app.
Google Analytics 4Aggregate website traffic measurement. Website visitors who opt in only — never the app.
SupabaseAuthentication, temporary inference jobs, and persistent encrypted catalog and V2 embedding records for users who enable Cloud Sync.
SentryCrash diagnostics — all users, scrubbed before sending.
Fly.ioAPI server hosting. Cloud mode users only.

Data Deletion

To delete your account and all associated data, email privacy@sightroll.com with the subject "Delete my account". We'll process it within 30 days.

Your local catalog (videos, descriptions, embeddings) is stored in a SQLite database on your Mac. To delete it, use Settings → Reset Database inside the app.

Contact

Questions about this policy: privacy@sightroll.com