The Daily San Francisco

San Francisco news, every day

News

How San Francisco's City Websites Became Buried in Duplicate Images — and Why Fixing It Took Years

A deep dive into the bureaucratic and technical backlog that let thousands of redundant photos pile up across municipal web properties, and what agencies are now doing to clean house.

By San Francisco News Desk · Published 4 July 2026, 12:00 pm

3 min read

How San Francisco's City Websites Became Buried in Duplicate Images — and Why Fixing It Took Years
Photo: Photo by Karam Alani on Pexels

San Francisco's municipal web infrastructure is carrying a problem that has been building since at least 2018: thousands of duplicate images scattered across dozens of city department websites, eating storage, slowing page loads, and making digital accessibility compliance a moving target. The Department of Technology has been working since late 2025 to implement a systematic duplicate-image replacement protocol, but the road to this point runs through years of fragmented procurement, pandemic-era workarounds, and a city government that kept adding websites faster than it could maintain them.

The stakes matter now because San Francisco is mid-way through a court-monitored digital accessibility improvement effort tied to state and federal ADA requirements. Redundant image files — many uploaded multiple times under different file names, many lacking alt-text — have repeatedly tripped automated accessibility scans run quarterly by the city's Digital Services office on Stevenson Street. Each failed scan pushes departments back into remediation queues, delaying public-facing updates on everything from permit applications to BART interconnection schedules on sfgov.org.

How the Backlog Built Up

The roots go back to a 2017 decision by the Mayor's Office of Civic Innovation to let individual departments manage their own content management system instances rather than consolidating onto a single Drupal platform. The logic at the time was flexibility. The result, by 2022, was more than 40 separate CMS installations citywide, according to public records reviewed by The Daily San Francisco, with no shared media library and no deduplication layer between them.

The pandemic accelerated the chaos. Between March 2020 and December 2021, the Department of Public Health alone published more than 200 COVID-related web pages, many assembled quickly by staff uploading the same infographic files repeatedly in different formats — JPEG, PNG, and WebP versions of identical graphics. The SF Emergency Operations Center on Turk Street also stood up at least three separate web portals during that period, none of which shared assets with the others.

By the time the city's Digital Equity Initiative completed its 2023 audit — the one that fed into the current remediation plan — the combined municipal web estate was estimated to include well over 80,000 image files, with duplication rates in some department subsites running as high as 40 percent. That figure came from an internal audit summary published on the Department of Technology's transparency portal in January 2024. Storage costs alone were running the city roughly $180,000 annually in cloud hosting fees attributable to redundant media assets, the same document noted.

The San Francisco Public Library's digital branch, housed under sfpl.org, became a case study in what happens when the problem goes unchecked. Librarians uploading event photography for the Main Branch on Larkin Street and branch locations from Excelsior to the Richmond found that the CMS would accept duplicate uploads without warning, generating broken thumbnail chains that made image searches unreliable for staff and patrons alike.

What the Fix Actually Looks Like

The Department of Technology's current protocol, which began rolling out in Q4 of 2025, centers on a perceptual hashing system — software that generates a fingerprint for each image and flags files that are visually identical even if saved under different names or in different formats. Flagged files are held in a review queue rather than deleted automatically, a concession to departments that had legitimate reasons for maintaining format variations for print versus web use.

Remediation is department by department. The Controller's Office and the Planning Department on Mission Street completed their sweeps in the first quarter of 2026. The Department of Public Works and Recreation and Parks are currently mid-audit. The Department of Public Health, which has the largest backlog, is scheduled to complete its review by September 30, 2026.

For residents and small businesses that rely on city portals for permits, benefit enrollment, or public meeting archives, the practical upshot is faster page loads and more reliable search results within sfgov.org as each department finishes its pass. Developers and nonprofits building applications on top of city open data feeds will also see cleaner image metadata through the DataSF API. The cleanup is unglamorous, deadline-driven municipal work — but after nearly a decade of drift, it is finally getting done.

Topic:#News

How does this story make you feel?

Spread the word

See something wrong? Suggest a correction.

Have your say

Loading comments…

Sources

About this article

Published by The Daily San Francisco

This article was produced by the The Daily San Francisco editorial desk and covers news in San Francisco. See our editorial standards for how we use AI.

The Daily San Francisco brief

The day's San Francisco news in a 2-minute read, every weekday morning. Free.

By subscribing you agree to receive emails from The Daily San Francisco and accept our Privacy Policy. Unsubscribe anytime.

Daily brief

Enjoyed this? Wake up to San Francisco news every morning.

Free, in your inbox before 7am. Weekdays.

By subscribing you agree to receive emails from The Daily San Francisco and accept our Privacy Policy. Unsubscribe anytime.

More from The Daily San Francisco

More in News

Enjoyed this story? Get tomorrow's briefing free.