Open your text
Paste nonempty text or import a supported plain-text draft, then choose Analyze writing. Short text can reduce confidence; the model service reports text it cannot process.
Product documentation
AIWriteCheck reports writing-pattern likelihood with deterministic metrics, labeled evidence, an explicit confidence level, and a disclaimer on every result. It is analysis—not proof of authorship.
Method
Paste nonempty text or import a supported plain-text draft, then choose Analyze writing. Short text can reduce confidence; the model service reports text it cannot process.
It computes word and sentence counts, average sentence length, length deviation, and lexical diversity.
The analysis considers repetition, regularity, abstraction, transitions, specificity, idiosyncrasy, and natural variation.
The report pairs a likelihood and confidence with balanced signal evidence and a required limitation statement.
Existing drafts
On first use choose Import .txt draft. Later, the same action is under Settings. AIWriteCheck accepts one .txt file encoded as valid UTF-8 whose trimmed text is nonempty. It reads and validates the complete file before changing browser state; unsupported types, invalid UTF-8 and empty files are rejected without retaining a partial draft or calling the analysis API.
The accepted text is copied byte-for-byte into the analyzer and retained only in this browser with its source filename. It becomes the input to the next ordinary Analyze writing action; import itself performs no paid analysis. Previously imported drafts remain selectable. Importing the same filename and identical text is unchanged and reopens that copy. A different text with the same filename is a conflict: the stored draft is preserved and the new file is refused, with an instruction to rename it when both should be kept.
Forget imported copy removes the selected browser copy. Analysis requests and reports still use Cache-Control: no-store and are not added to the draft store.
CLI
The canonical CLI reference documents source installation, local draft storage, and every command exposed by the aiwritecheck executable. Each command page follows the actual parser and links back to the browser import guide above.
API reference
POST https://app.aiwritecheck.com/api/analyze
Content-Type: application/json
{
"text": "Nonempty text to analyze"
}| Response field | Contract |
|---|---|
aiLikelihood | Integer from 0 through 100 |
confidence | low, medium, or high |
signals | At least one labeled observation with evidence and effect |
metrics | Word count, sentence count, average length, deviation, lexical diversity |
disclaimer | Required reminder that patterns are not authorship |
Successful responses use Cache-Control: no-store. Submitted analysis text is not retained by the endpoint; drafts explicitly imported in the interface remain only in that browser until removed.
Malformed request JSON, a non-object body, missing text and empty text are input refusals with HTTP 400; a JSON read failure includes its cause. A non-JSON content type is refused with HTTP 415. These requests do not produce a report or record first-report success.
The model must supply a numeric likelihood. A null, boolean or string is refused rather than converted into a percentage. Invalid model output and upstream failures return HTTP 502 with the analysis failure; neither the CLI nor the analyzer should present that refusal as a report.
Responsible interpretation
The output describes patterns commonly associated with generated writing. It does not identify who or what wrote the text.
Short, heavily edited, translated, templated, or domain-specific writing can reduce the value of pattern evidence.
For consequential decisions, rely on drafts, revision history, citations, interviews, and applicable institutional process—not a detector score alone.
Share a report
The application can copy the likelihood, confidence, summary, signal evidence, and disclaimer together. Do not quote the number without the accompanying confidence and limits.