About this tracker
Under the Policy for the responsible use of AI in government, non-corporate Commonwealth entities have had to publish AI transparency statements since February 2025. This project keeps a faithful, dated record of those statements and makes the changes legible.
How it works
Every day, an automated program visits each agency’s statement, saves a copy, and notes anything that has changed since the day before. Over time this builds a complete, dated history of how every statement has evolved, down to the wording. This site presents that history — it adds no commentary of its own beyond the analysis described below.
Following changes
When an agency publishes or revises its statement, the tracker announces it from @apsaitracker.app on Bluesky. Following that account is the easiest way to see changes as they happen, without having to check back here.
Behind those posts, the whole dataset is also published as open, machine-readable records on the AT Protocol (the open network Bluesky is built on): the current text of every statement, and every tracked change, each with a permanent identifier that doesn’t depend on this website — or the agency’s — staying online. Researchers and developers can browse the records directly, or subscribe to the network’s live event stream to be notified of changes the moment they are recorded, with no scraping required.
Origins
This tracker began in the audience. As the Australian Public Service’s AI Plan was being launched in November 2025, Ben Swift opened a laptop and started archiving the agencies’ transparency statements then and there. That is why the record opens when it does (11 Nov 2025), and why the statements’ first nine months, before the project was watching, fall outside it. What that start point means for the figures is set out in how to read the data.
Methodology
For a plain-language guide to what the scores and colours on this site mean, and what they don’t, see how to read the data. The notes here are the technical method behind them.
- Who we track. The list is reconciled against two authoritative sources: the Department of Finance’s list of Commonwealth entities under the PGPA Act, which fixes who is a non-corporate entity and so bound by the policy, and the DTA’s central register, which records who has published. Every non-corporate entity is listed here, whether or not it has published; corporate entities and other bodies are added once a statement of theirs surfaces, and a handful that have never published are kept on the list to show the gap. The defence portfolio and the national intelligence community are carved out of the policy, though some publish anyway.
- Timeline. Each change is read straight from git. Spurious scrape churn that is later reverted, and pure reformatting, are collapsed out. Captures known to be failures are listed in the repository (
captures.toml) and dropped before anything reads them, and a fresh capture that lost more than half its text is held back until confirmed. Every remaining revision is classified from its diff: deterministic rules catch formatting-only, link-only, page-chrome, date-stamp and reordering churn, and the rest is read by Claude (Opus 5 for the back catalogue and Sonnet 5 for the nightly run; every summary says which), which assigns one of five kinds, writes a one-sentence summary, and lists the noteworthy additions and removals. Results are cached by content hash in the repository, so each revision is read once and the site rebuilds without model calls. A first sighting is labelled “first tracked” (the day-one bulk import) or “added” (an agency we began tracking later), never “published”: we record when a statement entered the tracker, not the agency’s true publication date, which we can’t know. - Propagation is detected lexically: passages are normalised (links, markup, punctuation and case removed) and matched across agencies, with a separate pass for canonical template phrases. We only assert that a passage co-occurs across statements — never who copied whom — though passages also found in the DTA’s own statement are marked.
- Originality is the share of a statement’s text (by length) that is not shared with other agencies or drawn from template language. The DTA scores low because it is the template source, so it is labelled accordingly.
- Profiles. Each readable revision is read by the same model into a fixed-vocabulary profile (pydantic-validated JSON) whose questions come from the Standard’s minimum content, the policy 2.0 mandatory requirements and the APS AI Plan, with each question’s source recorded (see where the questions come from); noise revisions inherit their predecessor’s profile. A page’s own last-updated date is captured by the scraper, not the model. Consecutive profiles are diffed field by field to produce the structured change markers; commitments are matched across revisions by word overlap. Adoption curves count, per month, the tracked statements whose profile reports each item.
Related work
Plenty of people study these statements; as far as we know, nobody else tracks how they change. The first systematic analysis of the Australian corpus — Pan et al. (2026), who assembled the AITS-101 dataset — and an audit by the ADM+S Centre both read the statements as a single snapshot. The Digital Transformation Agency’s central register aspires to surface major updates but publishes no version history. The missing time axis is what this project adds.
The method is borrowed rather than invented. Longitudinal corpora of privacy policies — notably the Princeton–Leuven corpus — and terms-of-service trackers have long committed each snapshot to git and diffed it; we point the same technique at government AI transparency statements. The nearest efforts abroad track AI use rather than the statements themselves — registers like the UK’s Algorithmic Transparency Recording Standard and the Amsterdam and Helsinki algorithm registers — or score transparency over time, like Stanford’s Foundation Model Transparency Index. None diffs the text of agency statements.
Caveats
Scraping is imperfect: site redesigns, bot-blocks and PDF extraction can introduce noise. A body counts as not having published only when we have searched and found nothing, which is weaker evidence than finding something — a statement filed somewhere unusual, or behind a bot-block, can be missed. Treat the figures as indicative, and follow the source link on any statement to check the original.
Credits
This tracker is a Cybernetic Studio project created by Dr Ben Swift at the ANU School of Cybernetics.
Citation and referencing
This tracker is archived on Zenodo with a permanent DOI, and Ben Swift is its sole creator and maintainer. If the project, its data or its analysis is useful to you, a citation or credit is appreciated — it also helps others find the source and check it for themselves.
The DOI 10.5281/zenodo.20842437 is a concept DOI: it always resolves to the latest archived version, so a citation never goes stale as this living work gains new releases.
In scholarly work, cite it as:
Swift, B. (2025). Australian Government AI Tracker[Software]. ANU School of Cybernetics. https://doi.org/10.5281/zenodo.20842437
A machine-readable CITATION.cff in the repository can generate the equivalent BibTeX or other formats, and the Zenodo record exports them directly.
In a newspaper, blog or other non-academic piece, a plain credit with a link is all that’s needed — for example:
Data from the Australian Government AI Tracker, a project by Dr Ben Swift at the ANU School of Cybernetics.
Please link to this site rather than only naming it, so readers can reach the underlying record. When you quote a figure, a date is worth including: the corpus is updated daily, so the numbers move.
Licensing
The scraper and this site are released under the MIT License. The dataset — the downloads and the derived fields in them — is licensed CC BY 4.0. The statement text belongs to the respective agencies; most Australian Government content is licensed CC BY 4.0, but check each agency’s site for specifics.
121 statements, 120 changes of substance across 469 captures, 121 profiled. Built 29 Aug 2026 from commit 265847d.