Our Research
From a prototype to a verification engine
BiasBreak began as a research prototype. That work is published. It appears in Engineering Proceedings (MDPI), in the proceedings of the 6th International Electronic Conference on Applied Sciences, December 2025. Anyone can read the method as it was written at the time.
Read the paper on MDPI → DOI: 10.3390/engproc2026124089
The prototype was a fine-tuned BERT classifier. It took a document and sorted it into one of two bins, real or fake. It did that using patterns learned from a labelled training set. Where a claim needed checking against the outside world, it queried a search API and compared what came back. It was evaluated on a benchmark of 1,118 articles. The paper reported an accuracy of 98.03% on that benchmark.
The paper claims less than that number suggests, and it is worth being clear about it. Its title begins Towards a. It describes itself as preliminary work. It says further evaluation is needed. It was a proof that the approach was worth pursuing. It was not a finished system, and we do not present it as one.
Authors
- Arif Wali: Founder of BiasBreak, Middlesex University London.
- Stelios Kapetanakis: Distributed Labs, Distributed Analytics Solutions, London.
- Giacomo Nalli: Computer Science, Science and Technology, Middlesex University London.
The university affiliation reflects the individual authors’ academic associations only. It does not imply institutional endorsement or sponsorship of BiasBreak by Middlesex University London.
The prototype was answering the wrong question.
The 2025 system asked one thing. Is this document fake? It answered with a probability learned from patterns in text.
A probability was the wrong shape of answer. That follows from how the prototype was built, not from any particular result. Its classifier was trained on two bins, real and fake. So it had no way to say this is an advertisement, not a news report. Or this was true when it was published, and events moved afterwards. Or this is a question no evidence can settle. Those are not edge cases. They are most of what people actually paste in. The prototype could only compress them into a number, because a number was the only output it had.
It could not show its work either. A probability is not an argument. There is nothing in it to inspect, dispute, or correct.
So we replaced the question. The current system does not ask whether something is fake. It asks what the evidence says, and how confident anyone can reasonably be. Different question, different architecture. Not an improved prototype. A different system answering a different question.
What runs today.
BiasBreak decides what kind of content it is looking at before it assesses quality. Where the content is the kind that carries checkable claims, it extracts them. It retrieves evidence for each one. It judges whether each piece of evidence supports or contradicts the claim it was retrieved for. Then it computes the result.
No model, ours or anyone else’s, produces the verdict or the score. Those are computed in deterministic code from the evidence.
Today the language models and the web search are provided by third parties.
The models do bounded jobs, and each one is recorded in the result’s trace. They classify content. They extract claims. They draft search queries. They judge individual evidence against individual claims. They write the explanation. Everything that becomes a number happens afterwards, in code we wrote.
How the score is built
Where a score exists, it is a composite out of 100.
| Component | Points | What it measures |
|---|---|---|
| Claim outcomes | 45 | The share of claims supported, weighted by how confident each judgment is |
| Source credibility | 20 | The tier of the analysed source itself |
| Corroboration | 15 | How many independent domains support the claims |
| Manipulation | 10 | Clickbait and monetisation penalties |
| Transparency | 10 | Attribution and disclosure signals |
Sources sit in four credibility tiers. At the top are wire services, IFCN-signatory fact-checkers, government and major institutions. At the bottom are social platforms and known promotional sources. Evidence is weighted accordingly. A volume of low-tier agreement cannot outvote a high-tier refutation.
What holds regardless of which model or provider is behind it
- Genre is decided before quality. Promotional content is never labelled fake. Satire is never scored.
- Unverifiable is a real result, not a rounding error. It is never resolved to true or false because a number would look tidier.
- Two categories of question are never answered yes or no. The first is whether a person’s character is a certain way. The second is contested legal determinations, such as genocide, war crimes or terrorism designations.
- Reports cite only URLs that were actually retrieved. A validator strips anything else before the report renders.
- Where a score exists, it is reported with a confidence measure.
On the score itself
The prototype produced a probability that a document was fake. This is not that. The composite above is computed from evidence outcomes, component by component. It appears only where evidence was actually retrieved and judged. Opinion, satire, promotional content and questions that evidence cannot settle carry no score. A number in those places would be a judgment we have no way to compute.
On naming things
The 2025 research is published under a permanent DOI, and the method is described there. We do not name the commercial providers behind the current system. Those change, and a page that names them is stale the day they do. What does not change is the sentence above. Providers supply language processing and web search. They do not supply verdicts.
How these rules got here.
Several of the rules above were not designed in advance. They exist because the system got something wrong and we found it. These come from our own incident log. The first predates the current routed architecture. It comes from the single-call version that ran between the 2025 prototype and today’s system.
A promotional page scored 20. A polished affiliate review scored 60. Same category of content. Same commercial intent. The forty-point gap measured editorial tone and nothing else. If careful writing raises a credibility score, careful writing becomes the affiliate playbook. Promotional content now carries no score at all. It is described, and its commercial relationships are disclosed, but it is not graded.
A doomsday prediction returned a credibility of 33 ±17. Its support came from a Facebook group, and from news coverage reporting that the prophecy existed. Reporting that a claim exists is not evidence the claim is true. After the stance rules landed, the same question returned 2 ±2.
An accurate news article scored 52. Later coverage of a subsequent legal outcome was read as refuting reporting that had been correct when it was published. Claims now carry absolute dates. Evidence that post-dates a claim and reports an appeal or correction now produces Superseded rather than Refuted. Superseded means accurate when published, changed by later events. The same article now scores 82.
Asked whether a named living person was corrupt, it answered yes, with a credibility of 100. The sources were one-sided and years out of date. The acquittals that followed were absent from the record entirely. It no longer answers that question with a yes or a no. The answer is Depends, and the report opens by saying that this is a judgment, not a checkable fact. Whether someone is corrupt is not something evidence settles. The system now says so instead of scoring it.
These are observations from our incident log. They are not measurements we can reproduce on demand. The code that produced the earlier figures no longer exists. Retrieval is also live, so running any of these today would return different numbers. Four specimens are not an aggregate either. We are not claiming a measured improvement in overall accuracy. We have not run that measurement, and we will not imply one we cannot show.
Last updated: 08/08/2026