drag to explore · click a screen
Run it on your URL →Malformed output breaks bulk imports and silently corrupts a storefront. Structure is checked before meaning.
Compares the rewrite against the source HTML at an 8-word sliding window. Strips HTML tags from the source first.
Any 8-word phrase from the rewrite appears verbatim in the source (case-insensitive, whitespace-normalized).
Headline 'Plagiarism check failed' + count of verbatim n-word matches + up to 5 sample matches.
The previous rewrite reused N-word phrase(s) verbatim from the source. Rephrase those passages so no consecutive 8-word run matches the original.
Your voice is the asset. A draft that does not sound like you is a defect, measured — not vibes.
Computes a 1024-dim multilingual embedding of the rewrite locally on private GPU, compares cosine similarity against the brand-voice profile embedding. No third-party embedding service touches your corpus.
Cosine similarity drops below 0.78. Vacuous-pass if no brand profile is supplied; degraded-pass if the local embedding service is unavailable.
Cosine score + threshold. 'The rewrite's tone diverged from your brand voice profile.'
Match the rhythm, vocabulary, and emphasis of your existing approved copy.
One illegal or unprovable claim can cost more than a year of content. Language law is enforced mechanically.
Checks required fields and length bounds for the content type. Defaults: product_listing → title 30-80 chars, meta 110-165 chars, body ≥80 words. SEO article → title required, body ≥300 words.
Any required field is missing OR any length bound is violated.
Itemized list of which field/length failed.
Address the missing fields / length bounds listed below.
Copy that exists anywhere else is worthless to search and dangerous to a brand. Originality is verified, not assumed.
Regex blocklist for medical, legal, and financial overclaims (cures cancer, FDA-approved without filing, 100% effective, lose-N-lbs-in-N-days, SEC-registered, etc.). Caller can extend per-account.
Any regex pattern hits. Severity escalates to 'critical' if any matched pattern is itself critical (medical-treatment claims, securities claims).
List of matched phrases + severity per match + why each is restricted.
Remove or substantiate the restricted-claim phrasing flagged below.
A dead link or 404 image in published copy is self-inflicted damage. Every reference is tested live.
Extracts every URL from the rewrite (cap 8 links) and HEADs each. Falls back to GET on HEAD-rejecting servers. 6s timeout per link, follows redirects.
Any link returns 4xx/5xx OR exceeds the timeout.
List of broken URLs + status code or error class.
Drop or correct the URLs that returned errors.
Invented specs destroy trust permanently. Every factual claim must trace to a source you provided.
Soft check: extracts every standalone number from the rewrite (1-4 digit, optional decimal) and verifies each appears in the supplied extracted_facts dict. Vacuous-pass if no extracted_facts provided; pass if fewer than 3 unique invented numbers (single-number drift may be a year reference).
3+ unique numbers in the rewrite are not present in the extracted_facts dict (e.g., invented battery life, certifications, durations, dimensions).
Up to 8 invented numeric values flagged.
Use only the extracted facts — do not invent specs, certifications, or numbers.
A gate you cannot audit later is a promise, not a control. Every run is written down, permanently.
Each council run appends an event chain — every role's step, every gate verdict, every regeneration — hash-linked so history cannot be quietly rewritten.
A per-piece audit trail with a downloadable JSON record. If anyone asks why a sentence exists, the answer is on file.
Autonomy without a brake pedal is a liability. Publishing is the one step a human owns by default.
Every draft lands in your review queue with its gate certificate. During pilots, auto-publish is disabled — no setting can turn it on.
Auto-publish unlocks per content type only after 30 days of clean, inspectable history with zero hard guardrail failures. You can revoke it any time.
Quality drifts quietly. A gate that passed in May can rot by July unless something keeps measuring.
An automated harness re-runs the council against fixed reference fixtures every night and scores the output on the published metrics.
The scoreboard is public — drift gets caught by the harness before it ever reaches your queue.
A failed check that still ships is worse than no check at all. Hard fails must be physically unable to publish.
Any hard fail moves the piece to quarantine with the exact failure reason attached. Quarantined work cannot reach a storefront by any path.
Quarantined pieces appear in your queue clearly marked — failure is shown, never hidden.
A rejection without a reason teaches nothing. Failure context has to flow back into the next attempt.
One click re-runs the council with the failure report injected — the next pass knows exactly which sentence failed which gate and why.
Revisions complete in about a minute, self-serve, no queue and no business-hours window.
Your catalog is competitive data, and our model mix is ours. Both stay private by construction.
Bulk processing runs on hardware we own; frontier calls go out only under zero-retention terms. A render-time scrubber strips internal identifiers before any page reaches a browser.
We never train on your data and never share it. Your data is your differentiation.
Five roles — Researcher, Writer, Critic, Optimizer, Publisher — argue over every piece before the gates ever see it.
The gates are the floor, not the ceiling. Most failures die in deliberation before they reach a single check.
A per-step record of what each council role said, what the Critic flagged, and the final rationale.
A sample trace is public — same template production writes for every run.
The signed summary of every gate verdict for a piece — attached to the draft in your queue, downloadable as JSON.
Approval becomes an informed act: you see exactly what was checked before you click publish.
On signup we ingest your best pages and any style guide as the source corpus. Claims must trace back to it.
The factuality gate is only as honest as its sources — so the sources are yours, not the open web.
The nightly eval results, published. Numbers a vendor cannot quietly edit are numbers you can trust.
Thirty seconds, no signup: the same council, the same gates, the same trace — on your page.