Two free checks for your AI‑built app.
I built these for founders who build with AI tools. Both only read your app. They never change it. Each gives you a short report in plain English.
You run these on a computer, not your phone. Open townsendaistudio.com/free there.
Two checks, two different problems.
Custody Check
Leaked keys. Data anyone can read. Changes anyone can make.
Shows what a stranger could see or do in your app, and what your code can't tell it.
Build Decisions
Two prices. Two permission rules. Two answers to “has this person paid?”
Shows where your app decides who sees what and what things cost, and which rules it wrote more than once.
Four things you need.
If any of these stops you, start with a free assessment instead. You get the same answers, with me.
- A Mac or a Linux computer. Windows isn't supported yet.
- Claude Code or Codex, installed and signed in. The checks run on that tool's plan. Using Cursor? Run either one in Cursor's terminal.
- Python 3.9 or newer, and git. On a Mac, if a window offers to install developer tools, say yes.
- A new folder called checks in your home folder (on a Mac, in Finder: Go → Home, then File → New Folder, and name it checks), with your app's folder inside it. Keep anything private out of checks: your coding tool can read what's in it.
To check you have Python, git and Claude Code, paste this in your terminal. It should print True and two version numbers:
python3 -c "import sys;print(sys.version_info>=(3,9))" && git --version && claude --versionUsing Codex? Paste this one instead:
python3 -c "import sys;print(sys.version_info>=(3,9))" && git --version && codex --version- Lovable: Settings → GitHub → connect and push. v0: the GitHub button. Replit: Tools → Git → connect to GitHub.
- Then copy it into your checks folder with git (below). This keeps its history, which lets Custody Check see whether a key file is stored in git.
- If git asks for a password you don't have: on GitHub, Code → Download ZIP instead. Bolt: Export → Download. Replit without GitHub: the three-dot menu → Download as zip. A zip works, but the check can tell you less.
- Move the unzipped folder into checks (your browser may have unzipped it in Downloads). If your app is already on your computer (Cursor, Claude Code), copy its folder into checks.
Copy it with git, in your terminal. Use your app's address from GitHub's green Code button instead of the example one:
cd ~/checks
git clone https://github.com/your-name/your-app.git my-appThree steps.
These are for Claude Code. Using Codex? Its steps are just below.
- Step 1
Install both, once
In your terminal (on a Mac, the Terminal app):
claude plugin marketplace add laurenbdaniels-coder/townsend-plugins claude plugin install custody-check@townsend-plugins claude plugin install build-decisions@townsend-pluginsInstalled a check before? Run these instead. Skip the update line for a check you never installed, and run its install line above. Then restart Claude Code:
claude plugin marketplace update townsend-plugins claude plugin update custody-check@townsend-plugins claude plugin update build-decisions@townsend-plugins - Step 2
Go to your checks folder and start Claude Code
In your terminal:
cd ~/checks claude --permission-mode plan --tools Skill,Bash,Read,Grep,Glob,AskUserQuestionPlan mode stops it from editing your app. It will ask to run python3 a few times: say yes. If it asks to change or delete a file, say no.
- Step 3
Ask for each check
In the Claude Code chat, one at a time:
run custody-check on ./my-app run build decisions on ./my-appUse your app's folder name instead of my-app. It may ask you a few questions. “Don't know” is a fine answer.
Using Codex instead
Install both, once
In your terminal:
git clone https://github.com/laurenbdaniels-coder/townsend-plugins ~/townsend-plugins
mkdir -p ~/.codex/skills
cp -R ~/townsend-plugins/custody-check/skills/custody-check ~/.codex/skills/
cp -R ~/townsend-plugins/build-decisions/skills/build-decisions ~/.codex/skills/Installed before? Run this instead of the git clone line, then the mkdir and both cp lines again:
git -C ~/townsend-plugins pullStart Codex in your checks folder
In your terminal:
cd ~/checks
codexAsk for each check
In the Codex chat, one at a time:
use the custody-check skill on ./my-app
use the build-decisions skill on ./my-appUse your app's folder name instead of my-app. If it asks to change or delete a file, say no. Build Decisions starts in Codex but can't read your app's files there yet, so it can't confirm anything: run it in Claude Code for now. If Codex can't find a skill, say: use the skill at ~/.codex/skills/custody-check on ./my-app
A short report, not a score.
Both are short and in plain English. They say what is broken and what it means for you.
Custody Check: It starts with how many problems it found, how many things your code can't tell it, and how much of your code it read. Then, for each problem: what is broken, what it means for you, and where it is in your code. In the chat, it offers a check you can do yourself in about a minute.
Build Decisions: It starts with how many rules your app writes in more than one place, and how much of your code it read. Then, for each rule: where the copies are, and what it means for you. In the chat, it then asks about four signs of trouble, each with a check you can do yourself in about a minute.
Neither tool says your app is clean. “Not found” means this run didn't find it, not that it isn't there. They point at trouble; they don't fix it.
What leaves your computer: the checks' own scripts send nothing over the internet. What your coding tool reads from your checks folder, and your answers, go to the AI company that tool already uses. That includes any key written in your code, so a key a check finds is a key to change.
Start with a free assessment.
If you'd rather not deal with the code yourself, or you don't use Claude Code or Codex, book a free assessment. It's two calls, one per company. Bring your reports if you ran the checks.
Questions about the checks?
Email hello@townsendaistudio.com or use the contact form. I read every message myself.