Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻訳待ち
No updates detected yet. GitHub releases will appear here.
📊 Daily append-only change log of Philadelphia Active/Expired rental licenses (public open data from phl.carto.com). Proof-of-concept history tracker.
翻訳待ち
Loading the full README.
Read the full README ↗Every Active + Expired rental license, diffed daily. Every §9-3902 violation since 2010.
A rental license expires. Months pass. The landlord renews. Every trace that it ever lapsed — silently disappears.
When a landlord renews a lapsed rental license, the City overwrites the expiration date. After the renewal, there is no longer any public record online that the license was ever expired — or on what dates.
That is a serious problem for tenants. A tenant in a dispute — often months later, in court — may need to prove the landlord's rental license was expired during their tenancy. But if they didn't screenshot it at the time, those expired dates are gone from every City system.
This log fixes that. It records every Active → Expired and Expired → Active transition the day it happens, permanently — before the City erases it — so anyone can look up, after the fact:
This license was expired on
[date], renewed on[date], and lapsed for[N]days.
This project is designed so you never have to ask the person who built it to vouch for the data. Every daily log is anchored to the Bitcoin blockchain via OpenTimestamps, which lets anyone independently prove the log's contents existed, unaltered, on a given date. A tenant can therefore cite these dates in court as tamper-evident evidence — no need for the maintainer to appear, explain how the data was retrieved, or attest to its authenticity. The Bitcoin proof does that on its own, forever.
Philadelphia publishes rental license data across four public surfaces. Every one shows only the license's current state:
| Surface | Expiration? | Renewal date? | Status history? |
|---|---|---|---|
🗺️ Atlas atlas.phila.gov | ❌ no column | ❌ | ❌ |
📋 Property History li.phila.gov | ❌ no row | ❌ | ❌ |
🏢 eCLIPSE eclipse.phila.gov | ✅ | ⚠️ partial | ❌ |
🔌 Carto API phl.carto.com | ✅ | ✅ (hidden field) | ❌ |
When L&I cites a property for operating without a valid rental license, that record does not get erased by a later renewal. It keeps its case number, its dates, its resolution — and a link to the official Notice of Violation PDF.
That enforcement history reaches back to 2010.
| Question | Answer |
|---|---|
| Was this license expired on a given past date? | ❌ Not available — overwritten |
| When was it last renewed? | ✅ Available — mostrecentissuedate |
| Was the property cited for operating unlicensed, and when? | ✅ Permanent — since 2010 |
[!WARNING] The gap that remains. Not every lapse produces a violation. A license that expires and is renewed before an inspector visits leaves no enforcement record and no status history. Those lapses are invisible in every public system — which is exactly what the daily license log exists to catch.
phl.carto.com ─▶ daily pull ─▶ diff ─▶ append-only log ─▶ OpenTimestamps ─▶ git commit
(public) (deltas) (Bitcoin anchor) (+ .ots proof)
| Log | What | Coverage |
|---|---|---|
| 📜 License log | 99,348 Active/Expired rental licenses, diffed daily | Forward from 2026-08-21 |
| ⚖️ Violations archive | 26,817 §9-3902 rental-license citations | 2010 → present |
Every update is a timestamped Git commit, and GitHub's Activity log records every push — including any force-push — with compare links, visible to anyone with read access. That push history is outside the maintainer's control, which is what makes it worth citing. See REWRITE_LOG.md for a full account of any history changes.
A git commit date is only as trustworthy as the person (or platform) who wrote it — it can be back-dated, and GitHub could in principle be compelled to rewrite history. So the daily job does one more thing: it anchors each change log to the Bitcoin blockchain using OpenTimestamps.
Here's what that means in plain terms:
This is the beginning of the README. Read the rest at the original. Read the full README ↗