Methodology
A reader of this site should never have to take the reporter’s word for anything. Every factual claim points to a primary record, the record sits on this site as a file the reader can download, and the file carries a SHA-256 hash that proves it is the same file the reporting relied on.
How records are obtained
Each record page states how the document reached us, in one of five ways: downloaded from the agency’s own website, released in response to a Pennsylvania Right-to-Know request, pulled from a court docket, collected at a public meeting, or derived from public records by coding them into a dataset. A Right-to-Know record also lists the date the request was filed, the agency that answered, the response, and any appeal.
How records are archived
Before a record page publishes, the original is saved twice. One copy lives on this site under /files/records/. A second snapshot goes to a third-party archive, usually the Internet Archive’s Wayback Machine, so that the document survives even if the agency moves or deletes it and even if this site goes offline. Where no third-party snapshot exists yet, the record page says so.
How records are hashed
Every file is fingerprinted with SHA-256, and the hash is printed on the record page. Changing a single byte of the file changes the hash completely. To check a file, download it and run shasum -a 256 <file> on macOS or Linux, or Get-FileHash <file> -Algorithm SHA256 in Windows PowerShell, and compare the result with the published hash. The site’s build refuses to publish if any file on disk does not match the hash in its record page.
What it shows, and what it does not
Each record page carries two lists. The first states only what the document itself establishes. The second states what a reader might assume the document shows and it does not: the meeting that happened off the record, the motive behind a vote, the audit nobody ran. The second list exists because the most common error in records reporting is claiming more than the paper holds.
Interviews
Records carry the weight of the reporting. Interviews add the reasons behind a decision, its effect on the people it reached, and leads to documents the reporter has not yet seen. The editor also works as a therapist, and interviews follow that clinical training. A source is asked what happened before being asked what it meant, and the parts of an account that a record could confirm are checked against the record before they are published. Private people are not named. The ethics page covers anonymous sources and the right of reply.
Said vs Filed
A Said vs Filed page sets a public statement beside a filing from the same office: a rate the authority announced and the rate it filed with the regulator, a figure from a press conference and the figure in the budget. The page quotes the statement, links the filing, and adds no characterization of the difference.
Forecasts
A Slow Forecast page lists decisions that have a date on them, such as a vote, a ruling or a deadline, and names the record that will show how each one went. It gives no probabilities. When the date passes, the page is updated with the resolving record and the outcome.
Election coverage reports probabilities that others publish, such as prediction-market prices and forecasters’ models, each with its source and the time it was read. Where the site publishes a model of its own, the page shows the inputs and the method. Data analysis pieces trace every figure to its source in the notes at the end.
Corrections
Errors are corrected on the page where they appear, logged in that page’s changelog, and listed on the corrections page.