San Francisco's Department of Technology confirmed this week that a duplicate image replacement problem — in which digitized photos, scanned documents, and archival files were overwritten or duplicated inside the city's centralized content management system — has affected records stored across at least three municipal departments. The issue surfaced publicly on Tuesday, July 1, when staffers at the Department of Building Inspection on 49 South Van Ness Avenue flagged that permit application images were appearing under incorrect case numbers.
The timing is awkward. The city is three months from a contract renewal decision on its enterprise content management platform, a system that underpins digital record-keeping from Planning Department filings at 1 Dr. Carlton B. Goodlett Place to San Francisco Public Library's digitized historical collections at Civic Center. Any audit that reveals systemic integrity failures before that renewal vote — expected at the Board of Supervisors in October — could shift leverage toward competing vendors, or prompt a full re-procurement process that would cost time and money the city doesn't have in a tight budget year.
What the Glitch Actually Did
The problem, as described in a Department of Technology incident summary shared with department heads on Wednesday, stems from a batch migration script that ran between June 22 and June 27. The script was designed to replace low-resolution placeholder images with high-resolution scanned versions across roughly 47,000 records. Instead, in a subset of cases, the script mapped replacement images to the wrong record identifiers, meaning one property owner's permit photos could appear attached to a different address's file — and vice versa.
The Department of Building Inspection said affected records span properties across neighborhoods including the Mission District, SoMa, and parts of the Outer Sunset. SF Public Works, which stores infrastructure inspection images in the same system, also reported anomalies in files tied to street repair orders along Cesar Chavez Street corridors.
The San Francisco City Attorney's Office has been notified, given that misfiled permit images could theoretically complicate active litigation or appeals. The Planning Department issued an internal advisory on Thursday instructing staff not to rely solely on system-generated image attachments for any determination letters issued this week.
Scale of the Problem and What Comes Next
The Department of Technology's incident log, circulated internally, identified approximately 3,200 records as confirmed affected out of the original 47,000-record migration batch — a roughly 6.8 percent error rate that one database administrator, in notes appended to the log, described as far outside the acceptable threshold for a production migration. The city has not yet released those figures publicly, but the incident log was described to The Daily San Francisco by a source familiar with the review who was not authorized to speak on the record and declined to be named.
The department has pulled in staff from its Enterprise Applications division, headquartered at 1 South Van Ness Avenue, to run a reconciliation script that cross-references image metadata timestamps against original intake records. That process is expected to take through the weekend of July 11 to complete. Departments have been told to flag any public records request that touches potentially affected file types — specifically JPEG and TIFF attachments uploaded between 2019 and 2024 — and to add a disclosure notation to any response sent out during the remediation window.
For residents and contractors who rely on the city's online permit portal, the practical advice from the Department of Building Inspection is to cross-check any permit image retrieved this week against the physical case number shown at the top of the document. If the address or parcel number visible in an attached image does not match the permit record, the department asks that you call its public counter at 415-558-6088 before relying on the document for construction, sale, or legal purposes.
The broader lesson city technology officials are quietly drawing, according to the internal notes, is that batch migration scripts on live production systems need staged rollouts with human spot-checks — not just automated validation flags. Whether that lesson reshapes the platform contract evaluation this fall is now a live question at City Hall.