AI Therapy Note Generators: How They Work and What to Check First
What an AI therapy note generator actually does with your session text, the six questions that separate a usable tool from a liability, and where drafting should stop.
A therapy note generator takes rough session content — bullet points, dictation, a paragraph written in the car — and returns it structured as SOAP, DAP, BIRP, or GIRP.
That much is uncontroversial. What separates one tool from another is everything that happens around that transformation: where the text goes, what is stored, which model sees it, and whether the output can be trusted without a full rewrite.
How these tools work under the hood
Most AI note generators follow the same three-step pattern.
- You provide raw content. Typed notes, a transcript, or dictated audio.
- The text is sent to a language model with a system prompt that specifies the note format and clinical constraints.
- The model returns structured sections, which you edit and then save to your own record system.
The differences that matter are in steps 2 and 3. Which model, hosted where, under what retention policy. Whether the output is validated against a schema or just returned as free text. Whether the tool stores the note, and whether it stores the input.
The six questions to ask before you use one
1. Does the original text leave my machine?
If you type a client's name and the tool transmits it, that is PHI leaving your control. Ask whether redaction happens before transmission, and where. A tool that redacts on the server has already received the identifiers.
2. What is retained, and for how long?
"Zero retention" should mean the note and the input are not written to a database. Ask specifically whether session text is stored, and whether logs keep request bodies. Many systems log full prompts by default.
3. Is my content used to train models?
For consumer chatbots the answer is often yes unless you opt out. For API-based tools the answer depends on the model provider's policy. Get it in writing.
4. Which model provider, and in which jurisdiction?
This matters for two reasons. Some providers will not sign BAAs, which affects your business associate analysis. And some clients or practices have data residency expectations that a foreign-hosted model violates regardless of redaction.
5. Does the output follow a schema, or is it prose?
A structured JSON response with fixed sections is easier to verify and edit than free-form text. It also makes hallucination visible: if the model invents a PHQ-9 score, a fixed field makes it easier to catch than a paragraph.
6. What happens when the model is wrong?
Every drafting tool will occasionally invent a detail, overstate progress, or assign a diagnosis the clinician never wrote. The question is whether the product's prompt constrains that, and whether the interface makes review easy. A tool that lets you edit each section separately is safer than one that hands you a block of text.
Where AI drafting helps, and where it does not
It helps with structure. Turning a pile of session fragments into four coherent sections is mechanical work, and mechanical work is what language models do reliably.
It helps with consistency. A model does not forget to document the risk screen because it is tired at 7pm.
It does not replace clinical judgement. The Assessment section is your read of the case. A model can restate what you wrote; it cannot know what you noticed but did not type.
It does not fix thin notes. If the input contains no observable findings and no intervention, the output will be a well-organised version of nothing.
A realistic workflow
The pattern that holds up in practice looks like this:
- Capture raw content during or immediately after the session. Fragments are fine, but include observable findings and the intervention you used.
- Redact identifiers before transmission — or work in a tool that does it in the browser.
- Generate the structure, then read all four sections.
- Rewrite the Assessment. This is the section where your clinical reasoning has to be yours.
- Check for invented specifics — scores, dates, diagnoses, quotes.
- Save to your own record system, not to the drafting tool.
Step 6 is the one people skip. A drafting tool that stores your notes has quietly become a record system, with all the security obligations that follow.
What our implementation does
Since this is our blog, the specifics are worth stating plainly.
- Redaction runs in the browser before the request is sent. Structured identifiers — phone numbers, emails, dates, addresses, record numbers — are removed automatically, and likely names are suggested for one-click replacement.
- The server stores metering data only: format, model, token counts, cost, latency. There is no column for note text.
- Models are US-based providers accessed through OpenRouter, with a fallback chain so the service stays available.
- Output is validated against a fixed schema per format, and the system prompt prohibits inventing diagnoses, dosages, or test scores.
- The note is not saved anywhere. If you close the tab, it is gone — which is the point, and also the trade-off.
You can try it with ten free notes a month, or read the HIPAA statement before deciding.
FAQ
Is it safe to use AI for therapy notes?
It can be, if identifiers are removed before transmission, the vendor does not retain session text, and you review the output before it enters the record. The risk is not the model itself; it is PHI reaching a vendor without an agreement and without a retention limit.
Will a note generator produce notes that sound like mine?
Only after editing. The first draft will be more uniform than your writing. Rewriting the Assessment and adjusting phrasing in the other sections takes a minute or two and is what makes the note yours.
Do I still need to read every generated note?
Yes. A generated note is a draft. Signing one without reading it means you are attesting to clinical content you did not verify, including any detail the model invented.
Write the next note from your own session
Ten free notes a month, redaction in your browser, no client data stored.
Open the generator