Last updated: July 31, 2026. ScanMoines AI (“we”, “the service”) covers the Greater Des Moines, Iowa metro. This describes what we collect and why.
The site summarizes public-safety radio traffic that has been transcribed and stored. It is not an official police, fire, EMS, or government record. Nothing here replaces 911 or agency releases.
Scanner-derived data. When our ingest pipeline is running, audio is processed into transcripts and related fields stored on our servers.
Account data. If you create an account (e.g. via Supabase Auth), we store your user identifier and email as provided by the auth provider.
Morning Brief signup. If you join the Morning Brief launch list, we store the email address you provide, your subscription status, signup time, and signup source. The address is kept separately from anonymous browsing analytics, is used only for ScanMoines email, and is not sold as a mailing list. Every delivered marketing email will include an unsubscribe method.
Contact form. If you contact ScanMoines, the name, reply address, topic, and message you provide are forwarded privately to the site operator through our email provider so the inquiry can be answered. Contact-form content is not displayed publicly or added to browsing analytics.
Billing. If enabled, payments are processed by Stripe. We receive subscription status and customer identifiers; we do not store full card numbers.
Usage and troubleshooting logs. We log HTTP requests to operate and protect the service. That can include: path, method, timing, response status, a truncated browser user-agent string, an optional truncated referrer (scheme, host, and path only — not full query strings), and a coarse country or region when supplied by our host or CDN (e.g. a two-letter country code). We derive a hashed visitor identifier from your IP address and user agent together with a server secret so we avoid storing raw IP addresses in our analytics database for routine product metrics.
Page engagement. We collect the page path (without its query string), an anonymous session and page-view identifier, cumulative visible time, maximum scroll percentage, and the total number of clicks on the page. We also receive broad browser context such as time zone, language, device class, and screen width. We do not collect click targets, typed searches or form content, precise GPS location, advertising fingerprints, or a person’s inferred identity. Browsers that send Global Privacy Control or Do Not Track are not measured by this first-party script.
Abuse prevention. When a request is blocked or rate-limited, its source IP address may be held in server memory for up to one hour so the operator can investigate active abuse. These short-lived records are not written to the routine analytics database and disappear when the process restarts.
Optional analytics. If we enable Plausible Analytics, page views are counted using their privacy-oriented script. You can use standard browser controls or blockers if you prefer not to load third-party scripts.
Live audio. The “Listen” player streams third-party public scanner-audio URLs (e.g. community scanner feeds). Those providers may apply their own logging — see their policies.
For anonymous visitors we do not know your name, street address, or identity from logs alone. We can see aggregate traffic, approximate repeat visits (via the hashed ID), coarse geography when available, and how pages were reached (referrer). If you sign in, we can associate activity with your account as described in account data above.
The operator can review summarized traffic through password-protected admin endpoints (HTTP Basic authentication configured on the server). This is for operating the product, not for selling mailing lists.
We do not run interest-based advertising by default. Sign-in may use browser storage for your session. Anonymous engagement uses a random identifier in session storage. The operator can install a private, secure, HTTP-only cookie that excludes the operator’s own browser from first-party analytics.
To run the product, improve reliability, understand usage, prevent abuse, debug issues, and (if enabled) deliver subscriptions or email. We do not sell personal information to data brokers. If practices change in a material way, we will update this policy.
We retain incident and briefing data as long as operationally needed. First-party HTTP and page-engagement rows are normally pruned after 90 days. Saved audio clips, when present, are kept only for incidents the system chooses to archive and may be rotated to save space. You may request deletion of account-linked data by contacting the operator; archives may persist in backups for a limited time.
The service is not directed at children under 13.
Questions, account requests, and privacy inquiries: contact ScanMoines privately.