How it works
Case studies, step by step
It quotes rather than paraphrases
The customer's sentences appear as quotations, unchanged.
It is a draft for you to finish
Nothing is published from here. It is written into your dashboard for you to take away.
It names what it could not find
Rather than filling a gap with a plausible number.
From an interview, nothing but their answers
On an interview's card, Draft a case study asks the model only to choose which excerpts of which answers belong under The situation, What they did and Where it stands now. Each excerpt is checked against the answer it names — a changed word, two sentences joined, a quote moved to another answer, and it is dropped — and the draft is put together in code from what survived, each quotation with the question it answered under it. A heading with nothing under it says that you fill it in.
Safe by design
The rule that makes it safe to have
Clear boundaries
What it will not do
Every capability page ends with this list. It is the part that says what you are actually buying.
- It will not write a result nobody reported.
- It will not publish anything.
- It will not put words inside quotation marks that were not said.
- From an interview it will not write a sentence of its own — no figure, no praise, no line joining two quotations — and your notes are not sent with it: your facts go into the draft by your own hand.
- It will not quote one of your questions as though your customer said it.
- A recorded answer is quoted only from what was written down from it, and the quotation says it came from a recording written down by a machine.
Where it lives in the code: lib/ai.ts · lib/ai-filters.ts · lib/interview-rules.ts · app/dashboard/[token]/report/page.tsx
Questions
Asked about this
From Help, where every answer is written from the product as it runs.
What does Hazelsong check before publishing, and what does it not verify?
Before anything is public, Hazelsong checks three things: that its recorded permission (the writer's own sentence, or, for an import, the API or a feed, the business's statement that it has permission) allows the place it would appear, and it is served nowhere else; the risk reading of its typed words, when the month's AI readings allow, while a recording or a picture is never read by AI and anything not read says so; and that the business approved it, in person or through the automatic moderation it chose to switch on. Nothing is published before that approval. Hazelsong does not verify that what a testimonial says is true, who wrote it, or that they bought anything, beyond what its record shows: how it arrived (the business's collection page, an import, the API or a feed), its permission and when it was given, whether a reward was attached, and whether a second person approved it. Publishing through it is not an endorsement of any testimonial.
Can I fix a typo in a testimonial?
No. There is no route in this product — no dashboard control, no API field, no administrator, no support request — that can change a testimonial's text. That is the rule the whole product is built around, and it is checked in code rather than promised in a policy.
Then what do I do about a phone number somebody left in it?
Remove that span: press Check for things to remove for a proposal, or Remove a part yourself to select the words, which uses no AI reading. The span becomes [removed], every other character stays exactly as written, and the reader is told something was taken out. If a result differs from the original by a single word anywhere else, it is discarded rather than applied.
Can I shorten a long testimonial for a widget?
Not by storing a shorter version: nothing here can keep a cut-down copy as though it were what somebody wrote. What a layout may do is show less of it — the compact, marquee, toast and sidebar layouts stop a long testimonial at six lines, and there is no control that opens the rest. Every other layout shows the whole of it, so the choice to make here is the layout.
This is running now
Open a project and use it. Nothing on this page is a roadmap.