Eight months after San Francisco awarded a $5.9 million tech contract to a vendor whose executives donated to Mayor Daniel Lurie's campaigns and nonprofit, the city's independent Budget and Legislative Analyst has confirmed: the process didn't follow best practices. The mayor's office declared victory anyway.

The BLA released its report Monday at the request of Supervisor Jackie Fielder, who had been pressing the administration since October to account for how a software firm with deep financial ties to the mayor leapfrogged a better-rated, cheaper competitor. The findings are measured, unflinching — and almost immediately reframed by City Hall into something the report didn't say.

The BLA's verdict cuts two ways. On one side, it concluded that "The OpenGov selection process did not violate City requirements." On the other: Mayor Lurie's office "did not conform to typical City practice or best practices" when it bypassed competitive bidding to hand the deal to OpenGov, a software firm whose leadership had longstanding financial ties to the mayor.

The mayor's office moved quickly to claim the first finding and quietly drop the second. "This process followed city rules," spokesperson Charles Lutvak said Monday, adding that "bureaucratic red tape makes purchasing software slow and expensive — and San Franciscans can't afford to continue letting our failing permitting system hold back housing and our economic recovery."

But the BLA report undercuts that framing almost line by line. A formal competitive bid, the auditors wrote, would have protected the city by incorporating safeguards "to avoid potential vendor favoritism and to provide assurance that the contract price was the best value for the City." Without one, the report warned, the "appearance of impropriety... can damage public trust in procurement."

The appearance problem was well documented before any audit. When the story first broke in October 2025, reporting by the SF Standard, the Chronicle, and SFist established that OpenGov executives and board members had donated at least $191,000 to Lurie's PAC, inauguration fund, and Tipping Point nonprofit. City staffers who evaluated the competing bids scored OpenGov just 2.88 out of 5 — far behind competitor Clariti's 4.42. Staffers concluded in a July 2025 internal email that the two lower-rated products, OpenGov among them, "shouldn't be considered." Lurie's office overruled them.

In one April 2025 email, Lurie's Housing and Economic Development director Ned Segal wrote about OpenGov CEO Zac Bookman to the mayor's innovation office: "Zac has been patiently waiting for the right partner :)." That exchange — including the smiley face — came a full month before the city had begun formally soliciting vendors.

None of that, the BLA concluded, constituted "evidence of impropriety or unfair advantage." But a formal competitive process would have created the documentary record through which such evidence could have emerged — and it never happened.

The report's sharpest implicit rebuke may be in what PermitSF was supposed to accomplish. Lurie's entire justification for moving quickly — skipping normal procurement timelines to modernize what everyone agreed was a broken system — was housing. Fast permits mean more homes. But as of February 2026, PermitSF handles only five permit types, all for simpler projects "that can be approved over the counter," according to the BLA. Launch of additional permit types has already slipped from March to June. And for complex housing and commercial developments — the applications that actually shape SF's housing supply — there is no timeline at all.

To prevent a recurrence, the BLA recommended the Board of Supervisors add guardrails to the "request for information" process so it cannot substitute for competitive bidding, update rules on waivers for software vendors, and help reduce legitimate procurement timelines. Whether the current board acts on those recommendations is another question.

Fielder, who called for the audit and raised the alarm about conflicts of interest in October 2025, is currently on leave. She won't be on the floor to push for the reforms the report recommends. But the audit she set in motion has produced the paper trail she was after — a formal record that the process didn't meet the city's own standards, whatever the mayor's office says about it.