Police data is anonymised to the block
The San Francisco Police Department does not publish address-level locations for incident reports. Every count in a report is expressed as “within N feet” because that is the precision the data supports. A count near an address is not a statement about that address, that building, or anyone in it.
An assessment is not a valuation
Under Proposition 13 a California assessment is the purchase price adjusted by at most about two per cent a year until the property next changes hands. A building held for decades can be assessed at a small fraction of what it would fetch. Assessed value is a tax figure and nothing more.
The unit count is the roll's, not a count of front doors
The number of units on a report is the Assessor's, which is the number the city taxes. A unit that was never permitted, or was added without the roll catching up, is by definition not on that record; a newly legalised one can take a roll year or more to appear. If you know a building holds more than the report says, you are very likely right and the record is behind. The Assessor is where that is corrected, and we will not overwrite the public record with a correction we cannot verify.
The Assessor's roll sometimes disagrees with itself
The roll carries two classifications for a parcel — a use and a property class — and on about a quarter of San Francisco parcels they do not match: 52,307 of the 211,547 rows on the 2025 roll are recorded as “Single Family Residential” by use and “Condominium” by class. Where they differ we show both and label them, rather than picking one and presenting it as the answer. Deciding which the Assessor meant is not ours to do.
A complaint is not a finding
Anyone may file a complaint with the Department of Building Inspection, and it is recorded before anybody tests whether it is true. A notice of violation is different, because an inspector issued it. We count them separately and never add them together, and neither should you.
Registration is not occupancy
A business that closed without deregistering stays on the city's register. Business listings are claims on a register, not lit windows.
Rents reported are rents being paid
The Rent Board's inventory records what tenants currently pay, not what a unit would list for. In a city where most of the stock is rent controlled, a long tenancy pays far below market. It is a guide to the income a building produces, not to what a newcomer would pay.
A petition is not a verdict, and a buyout is not an eviction
Either side may petition the Rent Board, and a petition is the start of an argument rather than its outcome; most are settled or withdrawn, and nothing we publish says who was right. A buyout is a landlord paying a tenant to leave by agreement, filed with the Board since 2015 — it is a contract, not a notice, so buyouts never appear in the eviction figures and a building emptied that way leaves the eviction record untouched. We report both as filings, in the Board's own categories, and neither dataset carries anybody's name.
Fire violations are matched to a parcel; inspections and complaints are not
The Fire Department writes a free-text address — ranges like “11 - 35 Van Ness Ave”, inconsistent abbreviations — which cannot be matched to a parcel. Its violations record also carries the city's own address register alongside that text, and we match on the parcel through it: on the addresses the register says belong to this block and lot, so a citation filed against one street number of a building is found when you ask about another. A large parcel can hold more than one building, so those are citations on the property rather than necessarily on that door, and the report names the addresses it matched. Where the register has no citation we say the register is silent, which is not the same as a clean building. The Fire Department's inspections and complaints carry no parcel key at all and remain counted within the report's radius, and the report says which figures are which.
A missing status is not a completed job
Nearly half of all plumbing permits in the city's record carry no status at all. That is the city never having recorded an outcome, which is not the same as the work having been finished. We count those as neither open nor closed and print how many there are, rather than rounding them into either answer.
The pavement index measures a road
The Pavement Condition Index is the city's own 0 to 100 measurement of a roadway, republished after work, and we quote it on the city's scale with the city's bands. It describes asphalt. It is not a score for the block, the address, or anybody living on it, and we do not combine it with anything else.
Vacancy filings cover part of the city
The commercial vacancy figures come from the city's vacancy-tax filings, which reach commercial space in the districts the tax covers and nothing residential. A block with no taxable commercial space correctly returns nothing, and an annual filing always trails the present. The rate is taken over the spaces that actually stated one.
Not every source is the city
Most of a report is San Francisco's own record, but a good deal of it is not, and each one is named on the section it feeds. The federal flood zone is FEMA's. Recorded earthquakes are the USGS catalog. Fault zones are the California Geological Survey's. Historic listings are the National Park Service's. The nearest chemist, food shop and clinic come from OpenStreetMap. Trains and ferries come from 511.org. Air quality comes from the EPA and from PurpleAir's community sensors. What a roof could produce is NREL's model. A reader is entitled to know whose record they are reading, and the full list with its licenses is on the terms page.
The federal flood map is not the city's flood map
San Francisco publishes its own 100-year storm, sea-level-rise and tsunami layers, which are the city planning for water. FEMA publishes the National Flood Hazard Layer, which is what a lender uses to decide whether flood insurance is required and what an insurer prices against. They are different maps, made by different governments, for different purposes, and a property can sit outside one and inside the other. We show both and never merge them. Neither is the statutory Natural Hazard Disclosure, and this report does not replace it.
A recorded earthquake is not a forecast, and a scenario is not a memory
The earthquake maps section carries modeled values — what a hypothetical rupture would do at this parcel, on the publisher's own scale. The recorded-earthquakes section carries events that actually happened, from the USGS catalog, with distances measured from each epicenter. Neither predicts anything, and we never combine them into a single number.
A National Register listing is not a city designation
San Francisco's Article 10 landmark and Article 11 district designations decide what an owner may alter and what review it needs. A National Register listing is federal: it opens rehabilitation tax credits and, on its own, restricts nothing. The two are constantly confused. We report them in separate sections and say which is which. A listed building near an address is not a fact about that address.
OpenStreetMap is a volunteer map
The city's business register records no industry, so it cannot say what a nearby business actually is. OpenStreetMap can, and for San Francisco it is dense and well maintained — but it is contributed by volunteers rather than filed with anybody. A shop that closed last month may still be on it; one that opened last month may not be on it yet. We report what the map says and never present it as a promise that a place is open.
Seams in the record
Where the city changed how it records something, a trend across that change compares two different things. The two police datasets overlap rather than abut, and 311 renamed its entire taxonomy in June 2024. We mark these next to the affected numbers rather than in a footnote.
Nothing here is scored
There is no safety grade, no risk number and no letter for the block, and there never will be. Those are opinions wearing a number's clothes. You get the records; the conclusion is yours.