How it works
What it measures · what it is not · what it cannot do
Proofline measures text. It does not read it.
That sentence is the whole system. Everything below is detail.
What it actually does
A document arrives. Proofline cuts it into 400-character windows and, for each window, computes 31 numbers — measurements of structural properties like spacing regularity, the distribution of word positions along a geometric encoding of each sentence, and how uniformly those positions cluster.
Those 31 numbers are compared against the same 31 numbers measured across a reference set of documents whose authorship is known. A linear formula turns the comparison into one score between 0 and 1. The scores for each window are averaged, and the result is compared against a threshold.
That is the entire operation. Measure, compare, score.
What is inside it, precisely
- 31 measurements computed directly from the characters. Arithmetic, not inference.
- A clustering step (k-means) that establishes reference positions from known-human text.
- A linear classifier (logistic regression) — 31 coefficients and an intercept.
- A threshold, set as a percentile of measured scores on held-out human documents.
That is all of it. The trained part is 31 numbers. You could write them on an index card.
What it is not
- Not a language model. There is no LLM anywhere in the path. Nothing calls GPT, Claude, Gemini, or any other model. No text is sent to any third party.
- Not a neural network. No layers, no weights beyond those 31 coefficients, no embeddings, no transformer, no attention.
- Not generative. It cannot produce text. It has no capacity to write a sentence.
- Not reasoning. It does not follow chains of thought, form hypotheses, or evaluate arguments. There is no reasoning step to inspect, because there is none.
- Not thinking. It has no model of meaning, no representation of what a sentence is about, and no concept of truth, intent, or authorship. It is a measuring instrument.
- Not learning from your data. Your text is measured and discarded. It never enters the reference set, never adjusts a coefficient, and never trains anything.
Is it machine learning?
Yes, and we would rather say so than have you find out.
K-means clustering and logistic regression are both standard machine-learning methods. They are the first two algorithms taught in any course on the subject. If your data-science team reads this page, they will recognise both immediately, and they should — we have named them above.
What that phrase does not mean here: no neural network, no deep learning, no language model, no GPU, no per-query inference cost, no vendor API in the loop. The distance between a 31-coefficient linear model and a large language model is not a matter of degree. They are different kinds of object.
Our position has always been that detecting machine-written text with a machine that writes text is a circular argument. That still holds. There is no generative model here, and there never will be.
What it cannot do
- It cannot tell you who wrote something. It reports how far a document's measurements sit from a reference distribution. That is not authorship.
- It cannot explain itself in words. It can show you which windows scored high. It cannot tell you why, because it has no account of why — only measurements.
- It cannot score short text. Below 800 characters the measurements are dominated by length rather than structure, so it returns an error rather than a guess.
- It cannot be applied outside its reference domain and keep its numbers. A score is meaningful relative to the reference set it was measured against. English student essays are measured; other registers are not, and we will say so rather than extrapolate.
- It cannot be a disciplinary verdict. It produces a measurement and a stated error rate. What an institution does with that is a human decision, and should be.
The numbers, with their error bars
Measured on 2,000 human and 2,000 machine-written English student essays held out from the reference set:
| Measure | Value | 95% confidence interval |
|---|---|---|
| ROC-AUC | 0.9872 | — |
| Detected, at a 5% false-positive rate | 95.5% | 94.6% – 96.4% |
| Detected, at a 1% false-positive rate | 78.8% | 76.9% – 80.5% |
Read the false-positive rate first. At the 5% setting, five human-written documents in every hundred are flagged. Across 2,000 submissions that is roughly a hundred people. At the 1% setting it is twenty, and detection falls to 78.8%. That trade is real, it belongs to the institution, and no setting removes it.
These figures describe English student academic writing of 800 characters or more. They are not a general claim about arbitrary text, and we do not make one.
Verify it rather than believe it
Signed benchmark artifacts, the public key, and the verifier are published at /proof/. They are Ed25519-signed and contain per-document scores, so every figure can be recomputed independently:
pip install proofline-verify
If our numbers are wrong, that is how you find out without asking us.
Questions: trigeochiral@gmail.com