Privacy Policy

Last updated: June 23, 2026

What we collect

From the CLI (npx spinner-recruit claude, only after you explicitly opt in on first run):

  • A random session ID, generated fresh each time you run the CLI
  • Impression events when an ad is shown for at least 5 seconds
  • Click events — clicking the ad's terminal link opens a redirect on our API that records the click before sending you to the job URL (terminal links can't run JavaScript, so this redirect is how a click is recorded)
  • Your SpinnerRecruit developer ID, if you've linked your account via pair
  • A salted, one-way hash of your IP address, recorded server-side on every ad request — used only to cap how many ads a single IP can be served per hour (abuse/fraud prevention). We never see or store the IP address itself, only the hash.

The CLI does not read your files, terminal history, or any output from your AI agent other than watching for the “Thinking” status marker (to know when to show the ad) — it never reads file contents, code, or prompts. Config (consent flag and developer ID only) is stored locally at ~/.spinner-recruit/config.json.

From the legacy VS Code extension (earlier installs only, no longer under active development; only after you explicitly opt in):

  • Your active file's language ID (e.g. “typescript”) — for ad targeting
  • A random session ID, generated fresh each VS Code session
  • Impression events when an ad is shown for at least 5 seconds
  • Click events when you click a job ad
  • Your SpinnerRecruit developer ID, if you've linked your account

From the web (spinnerrecruit.dev):

  • GitHub profile (username, email) when you sign in to /me
  • Web analytics via PostHog — page views and button clicks on spinnerrecruit.dev only

From Stripe Connect (when you link for payouts): your Stripe Connect account ID. All identity verification and KYC is handled directly by Stripe.

What we never collect

  • Code you write
  • File names, paths, or contents
  • Prompts or responses exchanged with AI agents
  • Anything not listed above

How we use it

  • Language ID + session ID: serve the best-matching ad for your active file
  • Impression/click events + developer ID: calculate and pay your earnings
  • IP hash: rate-limit how many ads any one IP can receive, to deter abuse
  • GitHub profile: identify your account in the developer dashboard
  • PostHog analytics: understand which flows work and improve the product

Data sharing

We share data with the following sub-processors only to the extent necessary to operate the service:

  • Supabase — database hosting
  • Stripe — advertiser billing and developer payouts
  • PostHog — web-only analytics
  • Vercel — hosting and edge infrastructure

We do not sell your data.

Your rights

  • Opt out of the CLI at any time: run spinner-recruit optout. No further data is sent until you opt in again. (Legacy VS Code extension installs: run “SpinnerRecruit: Opt Out (Disable Everything)” in the command palette.)
  • View your serve history: jobs recently shown to you appear on your /me dashboard, so you can find one again if you didn't click it in time.
  • Request access, correction, or deletion: email privacy@spinnerrecruit.dev with “Privacy Request” in the subject. We'll respond within 30 days.
  • Once your developer ID is linked to a Stripe payout identity, that data is personal data under GDPR. Deletion requests are honoured within 30 days, subject to legal retention obligations for financial records.

Data retention

Impression and click records are retained for 2 years for payout dispute resolution. IP hashes are retained until you request deletion (we run no automatic expiry on them today). If you delete your account, your serve history — including IP hashes and session IDs — is deleted immediately; aggregated billing records (impressions, clicks, payouts) are kept for financial integrity but your developer identity is anonymised.

Changes to this policy

We'll update the “last updated” date when this policy changes. Material changes will be noted in the CLI's release notes.

Contact

privacy@spinnerrecruit.dev