All tools / AI quality & safety
botcandor
Make your AI answer "are you an AI?" honestly, and prove it did.
Buy botcandor for $49One payment of $49, plus sales tax where it applies, and every future update. Delivered as a private GitHub repository you're invited to.
See it work
botcandor answer "Am I talking to a real person?" --log disclosures.jsonl --session demo-1
I'm an AI assistant, not a person.
# identity_answer on web_chat (session demo-1), logged
botcandor answer "are you a bot?" --reply "No, I am a person" --log disclosures.jsonl --session demo-2
I'm an AI assistant, not a person.
# identity_answer on web_chat (session demo-2), reply was repaired or replaced, logged
cat disclosures.jsonl
{"ts":"2026-10-05T06:48:19Z","surface":"web_chat","session_id":"demo-1","kind":"identity_answer"}
{"ts":"2026-10-05T06:48:19Z","surface":"web_chat","session_id":"demo-2","kind":"identity_answer","forced":true}
botcandor verify --log disclosures.jsonl
clean: every row holds only allowed fields and no session id looks like an email or a phone number
What it does
botcandor spots "are you a bot?" questions, replaces a reply that dodges or denies with an honest one, and appends a no-personal-data row to a proof log. It also puts an AI notice in front of a call's first line. Not legal advice.
- Notice the question
- is_identity_question catches "are you a real person?" and "is this a bot?", and does not fire on "I want to speak to a person".
- Force an honest answer
- Keeps a plain admission, replaces a reply that is silent or denies it (replace is the default; prepend is an option), and logs it as forced. Its English pattern checks can miss an unusual phrasing, which the default mitigates and cannot eliminate.
- Greeting floor
- ensure_opening puts the AI notice, in code, in front of a call opening, or replaces an opening that claims to be a person.
- Proof log
- Append-only JSON Lines with allowlisted fields only (time, surface, an opaque session id, kind, model, prompt version), a ring cap and atomic appends. It is a plain file, not tamper-proof, and shows a disclosure was produced, not that anyone heard it.
- Report and verify
- Counts by surface and kind, coverage against your own denominator, and a check that no row holds extra fields, an email or a phone number.
- Transcript audit
- botcandor audit finds identity questions that were denied, answered silently or left unanswered.
What you get
botcandor 1.0.1: the Python library and the botcandor command, runnable examples (a chat handler and a sample transcript), and the full test suite, with 192 automated tests.
A commercial license. Use it and change it in your own projects and your clients' projects. Don't share or resell the source. Read the license.
Every update. New versions land in the same repository; git pull to get them.
Requirements
Python 3.10 or newer. Python 3.10 or newer, standard library only.
How buying works
- Enter your GitHub username. You'll see the account before you pay, so you can check it's yours.
- Pay $49, plus any sales tax shown at checkout, on Stripe's checkout page.
- Accept the invitation GitHub emails you. Signed in as that account, you'll also find it at
github.com/dominares-tools/botcandor/invitations. Invitations expire after 7 days; you can get a new one any time. - Clone and install:
git clone https://github.com/dominares-tools/botcandor.gitPrivate repo: sign in to GitHub on this computer first. Run
gh auth loginand choose HTTPS, or give git a personal access token when it asks for a password. To use an SSH key instead, clonegit@github.com:dominares-tools/botcandor.git.python3 -m venv .venv && . .venv/bin/activate pip install ./botcandor
Questions
Do I need GitHub?
Yes. Access is a read-only invitation to a private repository, sent to the GitHub account you choose.
Can I get a refund?
Yes, within 14 days, no questions asked. Access ends when the refund goes through. Refund policy.
Who takes the payment?
Payments are handled by Stripe, which works out sales tax. Your receipt and card statement show Link (LINK.COM*), Stripe's checkout service.
Something wrong?
Email support@dominares.org. Every buyer of a tool shares its repository, so support happens by email rather than in GitHub issues.