DominaresTools

All tools / AI quality & safety

truthpatch

Fix the bot's reply before the visitor reads it.

Buy truthpatch for $99

One payment of $99, plus sales tax where it applies, and every future update. Delivered as a private GitHub repository you're invited to.

See it work

truthpatch 1.0.2real run
truthpatch fix --facts truthpatch/examples/facts.json --now 2026-09-26T10:44:00-07:00 truthpatch/examples/reply.txt
We're closed right now. We open again on Monday, September 28 at 9:00 AM. Email jordan@acme.example or call (555) 010-1000.
Sign up at https://acme.example/signup and get the form at https://acme.example/downloads
Real output of truthpatch 1.0.2, run on 2026-10-05 on the shipped sample reply, which has six problems in it, repaired against the shipped sample facts at a fixed time; no model call, no network.

What it does

An output guard for customer-facing chatbots: it snaps invented emails and phone numbers back to the ones you published, rewrites dead links, replaces raw search dumps, and corrects wrong weekday, date and open/closed claims from your real hours. Pure Python, no model call.

Invented contacts
An address on your domains that you never published snaps to the real handle it ends with, or to your inbox. Retired phone numbers become your one number.
Dead and invented links
Links on a retired host, and any URL pattern you list, are rewritten to the live link.
Raw dumps
A reply that opens with a retrieval header or a [relevance:] chunk, holds six or more relevance chunks beside the word Knowledge, Notes or EMAIL THREAD, carries a marker in a JSON code block, or carries any marker over 4000 characters is replaced by a safe line. Short email threads, short HTML and unfenced JSON pass.
Wrong days and hours
Today, tomorrow, the day after and written dates are corrected against the real calendar, and a false "we're open right now" is replaced by the true status. Day and date repairs need your hours or a time zone; without either they are off.
Business-hours module
Open now, next opening, a dated 7-day list, a one-line today and an expiring follow-up promise. Handles holidays, split days, past-midnight hours and daylight saving.
Library and CLI
Guard.fix() returns the text and which repairs fired, and truthpatch fix --check exits 1 when a reply would change, for CI. For a streamed reply, guard the whole reply so far after every chunk and replace the shown text if the safe output no longer extends it.

What you get

truthpatch 1.0.2: the Python package and the truthpatch command, with the business-hours module, an example facts file and the full test suite, with 307 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 (the tz extra installs tzdata for systems without a time zone database).

How buying works

  1. Enter your GitHub username. You'll see the account before you pay, so you can check it's yours.
  2. Pay $99, plus any sales tax shown at checkout, on Stripe's checkout page.
  3. Accept the invitation GitHub emails you. Signed in as that account, you'll also find it at github.com/dominares-tools/truthpatch/invitations. Invitations expire after 7 days; you can get a new one any time.
  4. Clone and install:
    git clone https://github.com/dominares-tools/truthpatch.git

    Private repo: sign in to GitHub on this computer first. Run gh auth login and choose HTTPS, or give git a personal access token when it asks for a password. To use an SSH key instead, clone git@github.com:dominares-tools/truthpatch.git.

    python3 -m venv .venv && . .venv/bin/activate
    pip install ./truthpatch

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.