Skip to content

San Francisco’s Nonprofit Trap

The SF Zoo just received an $8.5 million bailout three weeks after an audit found $12 million in unauthorized spending. This is just the latest in a string of nonprofit failures that SF continues to tolerate.

By Garry Tan 8 min read
San Francisco's Nonprofit Trap

TL;DR

San Francisco gave $1.6 billion to 600+ nonprofit contractors last year with weak oversight, demonstrating a fundamental dilemma: Nonprofits have become too embedded in essential functions to discipline. The most recent Zoo bailout highlights the problem.


Three weeks after a 248-page city audit found that the San Francisco Zoological Society had spent $12 million without required approval, paid $1.6 million to contractors who were alleged relatives of senior staff without competitive bids, and stonewalled auditors so aggressively that the Board of Supervisors had to freeze nine months of funding just to force cooperation, the city unanimously approved an $8.5 million loan to keep the zoo running.

Not one supervisor asked a question.

In most cities, this would be a scandal. In San Francisco, it’s a Tuesday. Because the zoo is not an outlier. It is the latest entry in a pattern of nonprofit failure so consistent it resembles policy.

$1.6 Billion, 600 Nonprofits, No Questions

San Francisco is one of the most nonprofit-dependent cities in the country. Last year, $1.63 billion in public funds flowed from city government to more than 600 nonprofit contractors, roughly 10% of the city’s $16 billion budget. That number has doubled since 2019.

The oversight didn’t keep pace. When the Controller’s Office monitored 206 nonprofits covering $1.4 billion in funding in FY25, 49 of them (28%) failed to meet basic city financial standards. Sixteen were placed on corrective action for serious concerns. A 2022 Controller’s audit found that 38% of monitored nonprofits failed their performance measures.

Mandatory auditing for nonprofits receiving more than $1 million wasn’t even required until 2024. The first submissions weren’t due until March 2026. For years, the city was flying blind on billions in spending.

The Civil Grand Jury’s 2024-25 report found that contracts routinely measure activities rather than outcomes. A 2022-23 Grand Jury investigation into homelessness services went further: CBOs received over $1 billion across five years, and some contracts defined their “objective” as entering data into a database.

The question isn’t whether individual nonprofits failed. It’s whether SF chooses to hold them accountable.

The zoo’s story seems familiar because it is. The financial playbook is identical to half a dozen other cases in the past two years.

Collective Impact: $27 Million, Felony Charges

Former SF Human Rights Commission Director Sheryl Davis steered $27 million in city grants to Collective Impact, a nonprofit she previously led and maintained financial ties to. A Controller audit found $4.6 million of $6.3 million in HRC non-contract payments were ineligible or likely ineligible.

What the money bought: luxury travel upgrades, a rental house in Martha’s Vineyard, her son’s education and employment, podcast promotion, and $75,000 in illegal employee stipends, including payments to other city employees.

Davis resigned in September 2024. Felony charges weren’t filed until March 2026, eighteen months later. An administrative law judge initially ruled in favor of Collective Impact.

HomeRise: $200 Million, No Consequences

HomeRise manages over 1,500 housing units for unhoused residents across 19 properties. It has received more than $200 million in city grants and loans. A 2024 Controller audit found the nonprofit improperly transferred $2 million from restricted accounts, borrowed $2.5 million from a property operating fund to cover corporate payroll ($2.1 million still unpaid), and distributed over $200,000 in unplanned staff bonuses. Record-keeping was so poor that a full accounting was impossible.

HomeRise continues to operate with zero criminal charges.

SF SAFE: $700,000 Embezzled

Kyra Worthy, former executive director of the 48-year-old community safety nonprofit SF SAFE, was charged with 34 felony counts for embezzling over $700,000 in public funds. She spent $90,000 on home healthcare for her parents in North Carolina, categorized as “community meetings.” She blew $350,000 on luxury gift boxes, $98,000 on a “Candy Explosion” event, and $50,000 on a holiday party, while failing to pay subgrantees and withhold payroll taxes for 27 employees.

SF SAFE closed permanently. Zero assets remained.

San Francisco Parks Alliance: $3.8 Million Diverted

The SF Parks Alliance diverted at least $3.8 million in restricted public funds earmarked for park projects to cover its own operating costs. $1.9 million of a $3 million donation meant for Crane Cove Park playgrounds was spent on other things. The playgrounds were never built. Over 80 neighborhood groups were left unable to receive reimbursements. The organization had previously been linked to the Mohammed Nuru federal corruption probe.

The Parks Alliance dissolved in June 2025, with no individual criminal charges.

Urban Alchemy: $50 Million in Contracts, Still Operating

One of the city’s largest homelessness contractors, Urban Alchemy holds over $50 million in city contracts including a $22.7 million deal for a single shelter. The Controller placed it on the corrective action watchlist for exceeding budgets by $500,000 in a single month and $800,000 in unauthorized pay raises. The organization faces a federal RICO lawsuit alleging violence and drug trafficking, plus multiple class-action wage theft suits from over 450 employees.

Urban Alchemy continues to receive city contracts.

Providence Foundation: Kickback Scheme at a Homeless Shelter

The Providence Foundation, operator of the Oasis Hotel family shelter, submitted $105,000 in fraudulent invoices for work never performed, including exterior painting that didn’t happen and deadbolt removal on doors that still had deadbolts. A staff kickback scheme, nepotism, and wage theft were all uncovered. Criminal charges were filed in January 2026. The settlement was $1 million.

The Zoo: A Case Study in the System

Viewed alone, the SF Zoo’s problems look like bad management. Viewed alongside these cases, they look like a feature.

The May 2026 audit found that the Zoological Society spent $12 million on capital projects, including a $7.5 million Madagascar Center, without required city approval. Over six years, it sought approval for exactly one project. Two contractors alleged to be relatives of senior staff received $1.6 million with no competitive bids and payments in round numbers, which auditors flagged as a fraud risk. Former CEO Tanya Peterson approved her own expenses, including $7,182 for a resort and spa and $4,000 for a chartered sailboat. The board didn’t evaluate her performance for six years. When the AZA flagged a “toxic” workplace culture in 2022, Peterson didn’t share the report with the full board.

The zoo’s annual management fee, $4 million, hasn’t changed since 1993. It has lost more than half its real value to inflation. The $8.5 million bailout will be repaid through deductions from that same fee. So the zoo’s already-insufficient funding will now be further reduced to pay back a loan it needed because its funding was already insufficient.

The math is circular. But the supervisors had a point when they said there was no real alternative. Supervisor Melgar: “The city and county owns the land and we own the animals. We have to make sure that it all works. If the organization doesn’t survive, it is our responsibility that those animals are taken care of and fed three times a day.”

That’s the trap. The city can’t let the zoo fail because it owns the animals. It can’t let HomeRise fail because 1,500 people live in its buildings. It can’t cut Urban Alchemy because someone has to staff the shelters. The nonprofit becomes too embedded to discipline, and the discipline becomes too disruptive to enforce.

Meanwhile, the zoo is pursuing giant pandas from China, target arrival 2028. CEO Cassandra Costello told supervisors the loan would “continue our capital campaign to bring giant pandas to the zoo.”

The city knows it has a problem. Ordinance 55-24, passed in March 2024, created mandatory auditing for nonprofits receiving $1 million or more. But the first submissions weren’t due until March 2026, years after most of these scandals were already public. The Controller’s monitoring program now covers 206 nonprofits, but that’s a third of the 600+ that receive funding. And the consequences for failure remain unclear: being placed on “corrective action” has not stopped organizations from receiving new contracts.

The pattern is this: a nonprofit receives public money. It operates with minimal oversight for years. Problems accumulate until a journalist, an auditor, or a whistleblower forces a reckoning. An audit reveals mismanagement. And then the city, which has outsourced essential services to the point where it can’t take them back, writes another check.

$27 million to Collective Impact. $200 million to HomeRise. $50 million to Urban Alchemy. $8.5 million to the Zoo. Not because the work is good, but because the city can’t afford for it to stop.

Supervisor Melgar told the zoo: “We cannot be hands off in this relationship.”

San Francisco has been hands off in all of them.

Comments (0)

Sign in to join the conversation.

Welcome to Garry's List.
We explain the world from a builder's lens.

Want to join the citizen's union? Apply in 5 minutes.