Concept demonstration — hypothetical AI use. Not an official City of Portland website or document. Built at a Portland civic hackathon, Aug 2026.
The 30-second pitch
When a city decision touches your life — a permit, a citation — and an algorithm was involved,
you find out… never. Portland passed the rule this March: AI use must be
disclosed, humans must review. But nobody's designed what a resident actually receives.
So we built it. Every algorithmically-touched decision answers six questions in plain language,
with the full machine-readable trace attached — built into real portland.gov pages and a real
mailed decision notice, so adopting it means adding a section, not a system. And it's
live: you're looking at it.
Every receipt answers six questions
- What happened to me?
- Was an automated system involved — and which one?
- What did it do — and what was it not allowed to do?
- What information did it use, and where did it come from?
- Who had final authority?
- How do I challenge or correct it?
Why this exists
The plain-language case, in three steps.
The rule is already here
Portland's Administrative Rule BTS-4.04, effective March 6, 2026, requires public
disclosure of AI use, a public inventory of approved systems, and human review proportionate
to risk. Automated decision-making without appropriate human review, where outcomes could
significantly affect someone, is a prohibited use. The city has the rule.
The disclosure isn't
Governments publish registries about systems — Amsterdam, the UK, New York,
Portland's own inventory. But when a decision lands on a person, nothing in the notice says
what a machine did, on whose authority, or how to challenge it. France mandates a one-line
version; U.S. credit denials have disclosed the scorer since 1970. Nobody sends the full
account.
So we built the instrument
A decision receipt: six plain-language answers on the notice a resident already
gets, backed by a machine-readable trace — on the web and in the mailed document. Built in
Portland's own page and document language, so adopting it means adding a section, not a
system. It makes an automated system's behavior legible to someone who isn't an engineer:
what it did, on whose authority, and how to stop it.
The tour
Follow the numbers — this is the same path as the live demo.
1
The feed
Portland's real public-notices page. One entry is different — find the marker:
● Automated system disclosure
Open the notices feed →
2
The receipt
Land-use decision LU 26-880412 AD. The six questions answered in plain language, the
city's own High risk tier, and the full timestamped trace — every step marked
system or human.
Open the decision notice →
3
The correction
City records said the house was built in 1923. It was 1993. Because the owner could see
the fact the system relied on, they could correct it — amended decision, condition dropped.
Transparency with recourse.
Open the amended decision →
4
Today's example real program
Portland's speed safety cameras are real, present-day automated enforcement — a
machine measures, a sworn officer decides, a citation lands in your mailbox. This is that
citation as a receipt. Only the instance is hypothetical; the automation is not.
Open the citation receipt →
5
The system record
Behind every receipt: who runs the system, what it may and may not do, what data it
touches, what human review is required — and every decision it touched.
Open the system record →
6
The inventory
Portland's real AI inventory has one entry today. Registries in Amsterdam, the UK, and
NYC tell you about systems. None tell you about your case. Receipts are the
citizen-facing end of an inventory.
Open the AI inventory →
7
The mail
The same case as it arrives in a mailbox: an 8-page decision notice with an
Automated System Disclosure section and Exhibit H — the trace, riding the
exhibits mechanism Portland's notices already use.
Open the PDF →
8
The spine
One trace, many renderers: the web receipt, the trace view, and the mailed Exhibit H all
render from one JSON file conforming to decision-trace.schema.json. A hypothetical
trace cannot pass as production — status is a required enum.
Schema & source on GitHub →
Three disclosure levels, one source of truth
L1 — the boxSix answers in plain language on the notice itself. Every load-bearing term defined where it's used.
L2 — factors & provenanceWhat was considered and what was not, how much each factor mattered, which city system each fact came from, and what the human reviewer did.
L3 — the traceThe full timestamped event log — on the web as a trace view, in the mail as Exhibit H.
Declared plainly: what's real, what's not
The judges are scoring honest demos. So is the public. Here's the full split.
Real
- The portland.gov markup, styling, and page structure — cloned, not imitated
- Every quote from Administrative Rule BTS-4.04, and its March 6, 2026 effective date
- The land-use notice format, fields, and appeal mechanics ($250 fee, Hearings Officer, appeal windows)
- Portland's AI inventory and its one real entry — Microsoft Copilot Chat Basic
- Portland's photo enforcement program and its sworn-officer review requirement
- Portland's seven-year policy lineage, from the 2019 privacy principles to the 2025 algorithmic rent-setting ban
Hypothetical — labeled on every surface
- All three AI systems, including Development Review Triage — Portland does not use AI to review land-use cases
- Case LU 26-880412 AD, citation TSC 26-004417, and every trace in the repo (
"status": "hypothetical" is required by the schema)
- Every person named — applicants, owners, the planner, the reviewing officer
- Every statistic on the system record page
- The disclosure format itself — that's the proposal
Fair questions
“Isn't this just a mockup?”
The standard is the product: a JSON Schema under which a hypothetical trace cannot pass
as production, two conforming traces, and three renderers — web receipt, trace view, mailed
Exhibit H — reading the same file. The cloned pages are the delivery vehicle.
“Would the city actually do this?”
It rides mechanisms Portland already has: the notices it already mails, the exhibits
those notices already attach, the inventory it already publishes, and a rule in effect since
March 2026. Adoption means adding a section, not procuring a system.
“What does this have to do with AI governance?”
Governance a resident can't see isn't legible governance. The six questions answer the
governance prompt for one person's case: what the system did, on whose authority, and how to
stop it — readable by someone who isn't an engineer.
“Why build it before the AI arrives?”
Retrofitted transparency is how you get registries nobody reads. And machine-initiated
decisions already reach Portland mailboxes — the speed-camera citation on this tour is
automated enforcement that exists today.
“Automated decision-making without an appropriate level of human review, proportionate to the
risk, when outcomes could significantly affect an individual's health, safety, rights, or
financial well-being” is a prohibited use.
— City of Portland Administrative Rule BTS-4.04, “Artificial Intelligence Use and Governance,” effective March 6, 2026. Portland has the rule; receipts are the missing instrument.