How Viavitna checks answers against your approved content
How Viavitna rejects unsupported claims
Most AI assistants are asked to be truthful. Viavitna is built so that untruthful output has no path to the user. Here is the pipeline, honestly explained.
Five stages, one contract
The model proposes. The validator disposes.
The drafting model in Viavitna is never the final authority on what gets said. After it drafts an answer, structural checks and a separate fail-closed semantic pass re-evaluate whether each claim is supported and actually answers the question:
- Every claim must cite a real passage from your content — uncited claims are deleted.
- A claim must share substantial wording with its cited passage — paraphrases that drift are deleted.
- A separate semantic verdict must confirm that the passage entails the claim and the claim answers the question.
- Any number, date, or price not present in the cited passage kills the claim.
- Any link not belonging to your content kills the claim.
- The final answer is composed only from claims that survived.
If semantic verification is unavailable, malformed, or incomplete, no generated claim is accepted. Viavitna returns source text or abstains, and its decision receipt binds the evidence and validation state.
Everything fails toward honesty
Model down?
Answers come from the extractive floor: a relevant passage from your content, quoted and cited, or a clear abstention. It is a safe degradation, not a generated guess.
Content doesn't cover it?
Viavitna abstains, in plain language. An off-topic question that accidentally matches a stray word is caught by a coverage check and politely declined.
Question phrased oddly?
A recall-rescue pass rewrites the search using your pages' own vocabulary and semantic routing — and a retry is accepted only if it produces a fully verified answer.
Prompt injection in your docs?
Content is treated as untrusted reference text, never as instructions — and even an obeyed injection couldn't survive verification, because its output would be uncited.
Deterministic and auditable
Generation runs at temperature 0 with a fixed seed and schema-constrained decoding — the same question against the same content yields the same answer, so behavior is testable and reviewable rather than a slot machine. Models are open-weight (Apache-2.0) and run on hardware you or we control; there is no third-party AI API anywhere in the loop.
Your content is versioned: uploads create a draft you can interrogate in the review console, and nothing reaches visitors until you publish it. Re-uploading updates the draft; publishing is always a deliberate human act.