Your data
Privacy
CQDeck has no ads and doesn't follow you around the web. We count visits to each page anonymously, without cookies. If you sign in, we use two cookies to keep you signed in; see below. Fonts are served by CQDeck itself. This page explains exactly what we save, what we send, and where it goes.
Saved in your browser
CQDeck saves the following in your browser's local storage. None of it is sent to us unless we say so below, and clearing this site's data in your browser removes it all.
- Your station settings: license class, grid square and call sign.
- Your call sign and first name for Key Up.
- Your Refresher choices.
- Your first 30 days and welcome-back plan checklists, and which Key Up scenarios you've finished.
- The tuning-click sound setting.
- Your Morse trainer progress and settings.
- Your display preferences, like whether ham terms are explained, which tips you've dismissed and whether park spots show voice contacts only.
- Whether you've turned off visitor counts on this device (see Visitor counts below).
If you sign in, your station settings, checklists, finished Key Up scenarios, display preferences and Morse trainer progress are also saved to your account, so they follow you to other devices. If someone else later signs in on the same browser, your settings are cleared from it first and never copied into their account.
Your location
When you choose “Use my location” on Today, your browser asks you first. The position is turned into a 6-character grid square on your device. The coordinates are never sent to us.
If you type a ZIP code instead, it's sent to our server once to look up its center point, and we turn that into a grid square. We don't store or log the ZIP code; only the grid square is saved in your station settings.
License lookups
The Refresher and “Fill in from FCC” send the call sign you type to our server, which asks callook.info, a free service built on public FCC license data. We show only the license class, dates and a 4-character grid square. We never show names, addresses or exact locations from FCC records, and we don't store lookups.
Key Up
When you use push-to-talk, your browser's speech recognition turns your voice into text. In Chrome and some other browsers, that audio is processed by the browser maker's servers (Google, for Chrome) under their privacy policy; typing instead avoids this.
The text of your practice contact, plus the call sign and first name you enter, are sent to our server to get the next reply. When the AI practice partner is on, that text is also sent to Anthropic's Claude API to write the station's replies and your coaching. Anthropic says API data isn't used to train its models by default (see Anthropic's privacy policy). We don't keep transcripts. Nothing in Key Up is ever transmitted on the air.
The AI practice partner is only available when you're signed in. To keep costs down, we count how many AI replies each account gets per day and keep those daily counts for 30 days.
The waitlist
If you join our waitlist, we store your email address, the group you picked (new, returning, active or studying) and when you signed up. We use it only to tell you about new features and the launch. We never sell or share it. To be removed, contact us at hello@cqdeck.com.
Accounts and sign-in
If you sign in, we store your email address, when you joined and when you last signed in, your station settings, checklist progress and finished Key Up scenarios, and your active sign-ins (kept in scrambled form, not as plain text). Sign-in links work once and expire after 15 minutes. Sign-in emails are delivered by Resend, an email delivery service. To limit abuse, we keep a scrambled form of your network address with each sign-in request for about a day, then delete it. To delete your account, contact us at hello@cqdeck.com.
Morse decoder
The Morse decoder works entirely in your browser. When you choose the microphone or share a tab, your browser asks your permission first. The sound is decoded on your device and never sent to us or anyone else, and an audio file you pick is read on your device too. While it listens, the page keeps the last minute of sound in memory so you can save it; it's gone when you leave the page. “Save what it heard” puts that minute in a file on your computer, which is yours to keep, delete or email to us.
Callsign watch
If you set up callsign watch, we store your FRN, your account email and when you started. We read the FCC's public daily license files and only match your FRN to a call sign and license class, never names or addresses. When your call sign appears we email you once and the watch stops. Stopping the watch, or deleting your account, removes it.
Morning email
If you turn on the morning email, we store that it's on, your time zone, a random code for its unsubscribe links, and when it was last sent. Each morning we use the grid square and license saved to your account to work out satellite passes and band conditions on our server. The email is delivered by Resend. Turning it off, with the link in any email or on the alerts page, removes all of this.
License reminders
If you set up a license reminder, we store the call sign you enter, its license class and expiration date, which reminders we've sent, and a random code for unsubscribe links. We look the call sign up in public FCC license data through callook.info when you set it up and again before each reminder, to catch a renewal. The emails are delivered by Resend. Stopping the reminders, with the link in any email or on the reminder page, removes all of this.
Cookies
cqdeck_session keeps you signed in for up to 30 days and can't be read by page scripts. cqdeck_signed_in only tells the page to show “Account” in the menu instead of “Sign in.” We don't use any other cookies.
Live data
Our server fetches space weather, park spots and satellite data from NOAA, POTA and CelesTrak. Your browser only talks to CQDeck for this data. Your location is never sent anywhere for it; the filtering happens on your device.
Visitor counts
We use Vercel Web Analytics to see how many people visit each page, which site sent them, their country and region, and their browser, operating system and type of device. It sets no cookies and isn't tied to your IP address or your account. Vercel tells repeat visits apart with a scrambled code that it throws away after 24 hours, so visits can't be linked across days or to other websites. We remove everything after the page address, like sign-in codes, before anything is sent. Visits to the CQ Kids pages aren't counted at all.
You can stop your own visits from being counted. The setting is saved in this browser only.
Hosting
CQDeck is hosted by Vercel, which keeps standard server logs, like IP address and pages requested, for security and reliability. Account data, including everything listed above for accounts, the waitlist, callsign watch and the morning email, is stored in a database run by Neon.
Children
The CQ Kids pages (everything under /kids) have no accounts, sign-ups, forms or comments, and we don't count visits to them. Episode videos come from YouTube, but nothing loads from YouTube until someone presses Play, and then it plays in YouTube's privacy-enhanced mode (youtube-nocookie.com), under Google's privacy policy.
Elsewhere on CQDeck, if you're under 13, use the site with a parent or guardian, and don't join the waitlist.
Changes
We'll update this page and the date at the top whenever anything changes.