How ProofLine works
ProofLine is built around one rule: no claim goes live without a source. It reviews a draft before publication, explains each issue, and keeps a human in charge of the final decision. After approval it keeps watching the evidence behind every claim.
What you can check
- Typed or pasted text (captions, emails, web copy).
- Word files (.docx) and PDFs. The text is read out and checked exactly like typed text. Scanned PDFs are read by an AI vision model.
- Images (PNG, JPEG, WebP). An AI vision model reads the words in the picture, and those words go through the same checks. Alt text is required before review.
- Files can be up to 4 MB. Words in a Word file’s headers, footers and picture descriptions are included. Text boxes, comments and tracked changes are not read yet.
How a draft is checked
- Rules (no AI). Plain code checks the text against the brand guidelines: banned terms and shouting (R-1, G-1), absolutes and guarantees (R-2, G-3), medical or cure wording (R-3, G-4) and the required disclaimer (R-5, G-5). The same text always gives the same result. The required disclaimer itself is never flagged.
- Claims against facts (R-4). Every factual claim (numbers, rankings, proof, comparisons) must match an approved fact that is still in date (G-2, G-6). When an AI key is configured, a language model proposes the claims and which fact they match. Code then verifies it: the quoted words must really be in the draft, the fact must really exist, an expired fact can never make a claim “supported”, a figure that is not in the fact can never be “supported”, and a comparison needs a fact that makes the same comparison. If the AI is off, slow or over its limit, a keyword matcher does the job instead, and each finding says which method produced it.
- Images and accessibility (R-6 to R-8, G-7). A picture needs alt text before it can go to review (R-6). For images, an AI vision model also estimates text contrast (R-7), very small text (R-7) and colours outside the brand palette (R-8). These are estimates and are labelled “AI-assisted, needs human check”.
Confidence labels
Every finding says how sure ProofLine is, so a reviewer knows where to look hardest:
- High: a fixed rule matched exactly.
- Medium: the AI matched the claim to a specific approved fact and code verified it.
- Low: the AI found no fact for the claim, the keyword matcher guessed, or the finding comes from an image estimate. A person must confirm it.
How often each kind of finding is actually right is measured on the Evaluation page.
After approval: the evidence ledger
- When a reviewer approves a piece, ProofLine writes one ledger line for every claim: the exact words, the approved fact behind it (as it was that day), its source and owner, and who approved it.
- If a fact later expires, is changed or is removed, every approved piece that relied on it is re-flagged for re-review automatically. If the evidence is valid again, the flag clears.
- Anything the reviewer approved despite an open finding is recorded as a “reviewer exception”, so it can be found later.
- The ledger is re-checked whenever a fact changes, whenever a list or dashboard page opens, and once a day (about 02:00 IST) by a scheduled job. On the free hosting plan that is the most often a job may run, and it sends no notifications yet.
- The Insights page shows which rules fire most, which findings are disputed most, how long approval takes, and which facts are about to expire.
What a person can trust, and what they must still decide
- Every finding shows the exact words, the reason, and the guideline or fact behind it.
- Suggested fixes are only suggestions. Nothing changes until the author applies one, and each change is a new revision. Fixes change ProofLine’s text copy, not your original file.
- The author can dispute a finding with a reason. The reviewer sees that reason before deciding.
- Only a reviewer can approve. ProofLine never approves, publishes or sends anything by itself, and it does not give legal advice. Rules and facts are only as good as the ones the brand team keeps up to date.
- Every check, AI request, decision and approval is written to the audit trail.
Privacy and AI disclosure
- All data in this demo is fictional. Please do not upload real confidential copy or images.
- Each visitor gets a private workspace: your drafts, uploaded files, ledger and your changes to the guidelines and facts are visible only to your browser session. The demo logins are public on purpose and protect nothing; they only choose a role.
- Uploaded files are kept for 3 days and then removed. “Delete my data” in the footer removes everything from your session at once.
- When AI is on, the draft text and the list of approved facts are sent to the AI provider for claim checking. For images and scanned PDFs, the image or page itself is sent to the provider’s vision model so it can read it. No names or accounts are sent. The AI key stays on the server and is never sent to your browser.
- AI use is capped per visitor and per day to stay within a free quota. When a cap is reached, ProofLine falls back to the rules-only check and says so.
- This project was built by one participant with AI assistance (Claude by Anthropic) for writing code, and uses a Gemini-family model for claim extraction and image reading when configured. The check rules, the verification logic and the review workflow are the product itself.
Known limits
- The checks are tuned to one made-up brand (AquaPulse). Real brands need their own guidelines, terms and facts, which an admin can edit here.
- Keyword matching only recognises claims with a clear shape (rankings, proof words, figures with units, comparisons). The AI step reads the whole draft but can miss or misjudge a claim.
- Image checks are estimates. Alt text on a PDF cannot be verified. Image reading needs the Gemini provider.
- Word text boxes, comments and tracked changes are not read. Old .doc files, GIF and HEIC images are not supported.
- The test set was written by the same person who wrote the rules, so the measured numbers are optimistic. See the Evaluation page.
This deployment
- Data store
- Supabase (Postgres)
- AI claim check and image reading
- On · gemini · gemini-3.8-flash