Who checks Verifique os Fatos?
I examined the dataset, sources and code behind Verifique os Fatos: what the 75 records show, the limits of the analysis and the missing documentation.

An illustration of examining sources and methods. Created with AI assistance.
Originally published on X. This English version preserves the scope and sources of the analysis dated October 24, 2026. The original evidence images are in Portuguese.
An examination of the dataset, sources and code reveals inconsistencies and gaps in the publicly documented fact-checking process. The findings justify asking for transparency, but do not establish deliberate manipulation.
Analysis by Matheus Figueirêdo · My research, assisted by AI tools · Data preserved on October 24, 2026
A statement about living in a palace receives a “false” label. The explanation confirms the residence but says the property does not belong to the president. Another check, concerning an announcement about debt forgiveness, responds with the history of Brazil’s MEI individual microentrepreneur scheme. These are examples from the public Verifique os Fatos dataset. Palace, MEI.
The problem in these records is specific: the argument does not address the statement the site itself chose to display. For a platform intended to help voters distinguish fact from falsehood, that correspondence is essential.
For Verifique os Fatos, promoted by Felippe Regazio, I could inspect the code displaying the results, the published dataset and its change history. But the public material examined does not let a reader reconstruct who collected each statement, what research they conducted, who decided the label or who reviewed the check. That is the central gap in this investigation.
The snapshot was preserved on October 24, 2026, with 75 records at commit ac0b424. A fresh request to the site returned the same dataset. The README explains that updating posts.json delivers new results to browsers. The demonstrated automation concerns distribution: the classifications arrive already decided. Documentation preserved in the Internet Archive.
Publication is traceable; the research is not fully traceable
Across the 192 reachable commits examined, I found no versioned process for capturing the debate, researching sources or generating the checks. The available scripts validate data format and cache updates. Checking whether a field exists is not checking whether a statement is true. Validator: scripts/validate_posts.py (the original repository is now private; the record is described in the audit).
From the first statement still present in the dataset, the history contains 65 entries changing the file under the declared name Felippe Regazio. This identifies the publication authorship recorded in Git, but does not prove he researched and wrote everything alone. It also does not identify possible collaborators or external tools. First insertion: commit a4ea51e (the original repository is now private; described in data origins).
Two interface commits are attributed to “Cursor Agent”. They do not change the fact-checking dataset. Using them to claim that an AI invented the facts would be an unsupported leap. The method could be human, automated or mixed; the history examined does not settle that question. Example: commit c79e17e, described in data origins.
The question was raised publicly in issue 77: are collection, research and classification manual, or is there external automation? When consulted, the issue was open and had no comments. That is an absence of a response in that place and at that time, not proof of refusal. The original repository is now private; the question is documented in data origins and the audit.
A source must support the specific event being checked
None of the 75 records populated the structured sources field, although the application already supports it. Ten contained URLs in their explanations. Others mentioned institutions and news outlets without a specific link. Statement timestamps, individual check authorship and populated correction records were also missing. Dataset examined.
Having a link is not enough. One record interprets a phrase attributed to Lula in the October 2026 debate as a Freudian slip. Its reference is a January 2023 UOL fact-check about Flávio Dino and a 2022 press conference. That article may contextualize an older rumor, but it does not establish the statement or its intention in a later debate. Evidence specific to the event being judged is missing. Record, cited source.
Another case concerns an alleged gift to Lula. The card summarizes the messages as an order with no proof of delivery. The cited report also describes a message from Walfrido Warde about an acknowledgment attributed to the president. That indication does not conclusively prove receipt, but it should be part of an explanation intended to present the available evidence. Record, UOL.
These examples require distinguishing three things: what the candidate said, what the source documents and what the site concluded. A source can be legitimate without supporting the conclusion applied to a particular record. The absence of video and timestamps for each statement also prevents checking whether the summary removed relevant context.
The score does not settle the question of bias
The distribution of labels in the preserved file differs substantially between the candidates:

My count from the versioned dataset. These are the site’s labels, not new classifications produced by this analysis. Lula has 18 true, seven partial and two false labels; Flávio Bolsonaro has two true, 22 partial and 24 false labels.
This is a substantial asymmetry, but counts alone do not demonstrate favoritism: we would need to know all checkable statements, how they were selected and whether the labels are correct. Requiring equal numbers of errors for each candidate would not be a valid impartiality criterion either.
The Fatômetro uses the same formula for both: true counts as one, partial as half and false as zero. The 80% and 27% results are weighted editorial averages, not percentages of strictly true records; those would be 66.7% and 4.2%. Presenting this average as a general indicator of truth requires an explanation of selection, repetition and the meaning of the half point. Calculation.
The history contains revisions that reduced Lula’s score and increased Flávio’s. This rules out claiming that every observed change favored the same candidate, but does not exclude possible bias in the selected set. A denial by Flávio himself is used to refute a claim by Lula about tariffs, although a self-declaration alone does not settle an investigation. Editorial inconsistency does not appear exclusively to benefit one side. Tariff revision: commit 2c6d1de, described in the audit.

Screenshot taken during the audit. The indicator includes half a point for each partial classification.
Selecting statements can also favor one side
The site says it applies the same standard to every candidate. Applying the same formula, however, does not resolve the decisions made before calculation: which statements are included, how they are summarized and which labels they receive. A selection concentrated on one candidate’s correct claims and the other’s incorrect claims can favor one side even with an identical formula. Including some negative assessments of the candidate who benefits does not, by itself, demonstrate balanced selection. Project statement.
In this snapshot, Flávio accounts for 48 of 75 records, or 64%; Lula accounts for 27, or 36%. There are 77.8% more records for Flávio. These numbers describe coverage, but do not show what proportion of each candidate’s checkable statements was selected. That denominator is missing.
An exploratory comparison with Lupa’s coverage of the same debate identified six statements for which I found no equivalent record in the preserved dataset:

| Candidate | Paraphrased subject of the statement | Lupa’s label |
|---|---|---|
| Lula | No growth above 3% since 2010 | False |
| Lula | Hunger ended in 2012 | Exaggerated |
| Flávio | Authorship of the new sanitation framework | True |
| Flávio | Agricultural leadership of the Central-West region | True |
| Lula | 33 million people facing hunger when he returned to the presidency | True |
| Flávio | Smaller chocolate bars attributed to current inflation | False |
Source: Lupa’s debate fact-check, updated at 01:01 on October 24; my copy was captured at 00:43 Brasília time. The comparison uses versions from different times. The labels are Lupa’s, not independent verdicts from this audit.
The first four examples justify investigating the hypothesis raised. The last two show omissions in the opposite direction. This sample was chosen to explore possibilities, not to estimate their frequency. Another outlet’s coverage is also an editorial selection, not a record of every statement in the debate. The difference does not demonstrate intentional exclusion or allow a corrected score to be calculated.
The supported criticism is that selection is not documented well enough to assess its impartiality. Suggesting that someone included criticism of Lula merely to appear neutral attributes an intention that has not been demonstrated. Further investigation would require defining all eligible statements from the same debate, recording their timestamps, removing repetition and comparing inclusions and exclusions using predefined criteria and independent review.
As a methodological reference, the IFCN Code of Principles recommends equivalent criteria, transparency about selection, and consideration of statements’ relevance and reach. This does not require numerically equal results. I use this reference to assess the method; I am not claiming the project is an IFCN signatory. IFCN principles.
Critics also have a responsibility to be precise
False information can cause harm, and a legitimate demand for accountability does not depend on proving a crime. But an audit of inconsistencies does not automatically establish criminal liability. Article 323 of Brazil’s Electoral Code concerns the dissemination of knowingly false facts relating to parties or candidates and capable of influencing voters, within the context defined by the law. The specific elements must be demonstrated. Electoral Code.
The Jéssica Canedo case also requires precision. According to reporting on the police investigation concluded in March 2024, an internet user was formally accused by police of incitement to suicide; the person responsible for Choquei was not formally accused in that investigation. This research did not locate a later primary judicial decision establishing the final outcome. The case therefore does not justify calling another project criminal by analogy or attributing a death to a single cause. The relevant discussion concerns research, amplification and correction. CNN, Estadão/UOL.
Criticism of Verifique os Fatos can be firm and specific: the published results lack sufficient documentation to reproduce their production, and there are cases where explanations do not adequately support the label or omit relevant evidence.
What the project needs to clarify
These questions can be answered with verifiable documentation:
- Who collects the statements, and where are the timestamped videos?
- What rule determines inclusion and exclusion? Is there a list of eligible statements and reasons for exclusions?
- Which documents support each verdict?
- Who researches, classifies and reviews? Are AI tools involved?
- How does the reader learn when a label or explanation has been corrected?
- Why does a partial statement receive exactly half a point?
Publishing these answers would make it possible to assess the method, challenge results and follow corrections. A project asking the public to verify facts needs to let its own verdicts be verified.
This caution applies beyond this case. Before trusting any scoreboard, truth meter or fact-check circulated during an election, look for who selected the statements, who researched them and who reviewed each verdict. Check whether each item includes its own sources, the exact moment of the statement and the criteria for including some claims and leaving others out. Check whether the data remains public afterward so anyone can inspect the result. Without that, an attractive number on a screen is an opinion presented as a measurement.
Method and limitations
This is my research, assisted by AI tools. I used Git history, the published dataset, reproducible counts, public sources and comparison with the site. AI helped read records, count them and compare texts; its interpretation is not proof of intention, and I take responsibility for the conclusions published here. The original research involved no access to private systems, no independent rechecking of all 75 statements and no contact with the person responsible. Failure to locate documentation does not prove that no process exists. Four of the ten original links could not be read by the tools; one was checked through a republication. This article is documented criticism, not a finding about intention or criminal conduct.
A note on the links
After this analysis, conducted on October 24, 2026, the project’s original repository ceased to be public. The files used as evidence remain preserved in the linked copies: the dataset and site page in my audit repository and, where a capture existed, the Internet Archive. Where there is no public copy of a commit or issue, I describe the record and point to its documentation in the audit.
Sources and material to inspect
The public research repository contains:
- Full audit report.
- Investigation of data collection and origins.
- Selection analysis method.
- Spreadsheet of all 75 records.
- Inventory of cited links.
- Preserved JSON dataset, identical to
posts.jsonat the analyzed commit, with the same SHA-256 hash. - Preserved site page, identical to the repository’s
index.htmlin the snapshot. - Archived README, captured on October 23, before the analyzed commit.
The individual records, news reports, IFCN principles and Electoral Code are linked alongside the relevant paragraphs above. The original commits a4ea51ea43a4b5e98b064066ade8886335178123, c79e17e6112dc8fd877b2829381576213ff8c8dd and 2c6d1de8693260e0e16b6d0dfd5e2146740f95e2, along with issue 77, have no public copies; their observations are described in the audit and data-origins documents.
These copies preserve the version analyzed. The site and public discussions may change after that snapshot.



Comments
Continue the conversation on Disqus.
Open conversation on DisqusThe blog theme changed. Send or copy any draft before refreshing the comments.