Privacy

Privacy policy

Footgun is operated by Mark Fachler, doing business as Zero Hired, in California, USA. Zero Hired is not yet an incorporated company; when it is, we will update this page. This page explains what the site and the Footgun MCP server collect, why, and what you can ask us to do with it.

Last updated: October 19, 2026

What we collect and why

  • Lookups without an account. You can look up and search traps without signing in. To apply the hourly rate limit, we read your IP address from the request and turn it into a salted one-way hash. We store only that hash with a count of your requests in the current hour, never the IP address itself. The text you send to the search tool is checked for things that look like secrets, which are replaced before the search runs. We do not store the text of your lookups or searches. If you sign in and use an API key, we also count your requests (see Usage counts).
  • GitHub sign-in. When you sign in with GitHub, GitHub shares your name, email address, avatar image link, username and account number. We store these to create your account. We keep this for as long as your account exists. GitHub also issues an access token, which our sign-in library stores with your account. We do not use it to call GitHub after you sign in.
  • Sign-in sessions. While you are signed in, we keep a session record in our database and a session cookie in your browser.
  • API keys. We store a one-way hash of each key, never the key itself, so we cannot show it to you again. We also keep its first 10 characters so you can tell your keys apart, its label, and when it was created, last used and revoked.
  • Private traps. If you use a paid plan, you can save private traps. They are visible only to their workspace and are never shown on public pages, in the public data or in search results for anyone else. We store their text and link them to your workspace.
  • Payments. If you start a paid plan, Stripe processes the payment and holds your card details. We never see or store your card number. We store the Stripe customer and subscription ids, your plan, the seat count and the billing period dates, so we can switch your plan on and off.
  • Confirmations. When you confirm or dispute a trap, we store your account, the trap, your answer, the date, and the hours lost and version seen if you give them. Public pages show only totals, not who confirmed.
  • Traps you file. We store the text of the trap and link it to your account. Submissions that contain something that looks like a secret are rejected. Your name and username are not shown on trap pages or in the public data.
  • Waitlist. If you join a waitlist, we store your email address, the plan you chose and the date, so we can tell you when that plan opens. We send that one launch email and nothing more unless you sign in and opt in to the weekly report. To limit repeated tries, the form also stores a salted one-way hash of your IP address, not the address itself, with an hourly count.
  • Weekly new traps email. If you subscribe to the weekly email of new traps, we store your email address, when you subscribed, when we sent the confirmation email, when you confirmed, and the week of the last email we sent you. This list is separate from accounts. We send nothing but the confirmation email until you click the link in it. Every weekly email carries our postal address and a one-click unsubscribe link. When you unsubscribe, we keep the address only to record that it must not be emailed again; email hello@getfootgun.com to have it deleted.
  • Usage counts. For each MCP tool we count calls per day and how many returned a result. To count distinct callers per day, we store a code computed from your account or IP address with a secret key and the date, so the stored code is one-way and changes every day. We keep no table that maps a code back to an account or IP address, and we do not store the address or key itself.
  • Weekly usage counts. If you sign in and use an API key, we keep weekly usage counts for you as a signed-in user: lookups, searches, traps returned (and how many were private) and the providers you looked up. We use them only for your own weekly report. In a team workspace, each member sees their own numbers and the workspace total, and the workspace owner also sees a table of each member's counts by name.
  • Weekly report email. The weekly report is sent only if you tick the box to receive it, which is unticked by default. The same box also covers occasional news about Footgun and Zero Hired products. The weekly report and account emails carry a one-click unsubscribe link. The one-time waitlist launch email can be stopped by replying to it or with your mail app's unsubscribe button. Every email carries our postal address. Unsubscribing does not affect your plan or billing.
  • Site analytics. We use Vercel Web Analytics to count page views. It does not use cookies. We remove everything after the question mark from page addresses before they are sent, so searches and other URL parameters are not reported.

Automatic checks

Traps that people file are reviewed by a person before they are published; no automatic check decides on them. Traps that our weekly job drafts from official changelogs are checked automatically against the official pages they cite, and published traps are re-checked against their sources over time. For those checks we send Anthropic's Claude API the text of the drafted or published trap (title, surface, symptoms, cause, fix, how to apply it, and what is affected) and the text of the official pages it cites. When the weekly job drafts, it also sends the official changelog page and the titles of existing traps for that provider, so it does not repeat them. Your name, email address and account are not sent. Private traps are checked only by the automatic safety pattern check when they are saved, and are never sent to Anthropic by the weekly update job.

Public data

Published traps are public. They appear on this site, are served to coding agents, and are published under the CC BY 4.0 licence in the Footgun GitHub repository. When a trap you filed is published, its text becomes part of that public data. The public data includes confirmation counts but not who filed or confirmed a trap.

Who processes it

  • Vercel. Hosts the site and the MCP server, and provides the page view analytics.
  • Neon. Hosts our Postgres database, where everything above is stored.
  • Stripe. Processes payments for paid plans and holds card details. We never see them.
  • Resend. Sends our email, including the weekly new traps email, the weekly report and the launch email.
  • GitHub. Handles sign-in.
  • Anthropic. Runs the automatic checks on trap text described above.

What we do not do

  • We do not show ads.
  • We do not sell your personal information or share it for advertising.
  • We do not use tracking or advertising cookies. The only cookies are the ones that make GitHub sign-in work and keep you signed in.

How long we keep it

  • Sign-in sessions expire after 30 days without use.
  • Your account, API key records, confirmations and filed traps are kept while your account exists, and deleted when you ask.
  • Private traps are kept until you delete them, including after a plan ends. Billing records are kept as long as the law requires.
  • Weekly usage counts for signed-in users are kept while your account exists.
  • Waitlist entries are kept until you ask us to remove them.
  • Weekly email subscribers are kept until you ask us to remove them. After you unsubscribe, the address is kept only so it is not emailed again.
  • Rate limit records keep a salted one-way hash of your IP address, or your account id, with a count that resets each hour or day. They are deleted automatically about two days after their window ends.
  • Daily usage counts hold no IP address or account, and are kept as statistics.

Your choices and rights

You can ask for a copy of your data, ask us to correct it, or ask us to delete your account and the data linked to it. Email hello@getfootgun.com from the address on your account. Account deletion is handled by email.

You can revoke an API key yourself at any time on the account page. Traps you filed that are already published stay in the public data under CC BY 4.0, but we remove the link between them and you.

California privacy rights

If you live in California, the CCPA, as amended by the CPRA, gives you the right to know what personal information we collect and how we use it, to have it deleted, to have it corrected, and not to be treated differently for using these rights. We do not sell or share personal information. To use any of these rights, email hello@getfootgun.com.

Children

Footgun is a tool for software developers and is not directed at anyone under 16. If you believe someone under 16 has given us personal information, email hello@getfootgun.com and we will delete it.

Changes to this policy

When we change this policy, we update this page and the date at the top.

Contact

Mark Fachler, doing business as Zero Hired, California, USA. Email hello@getfootgun.com.