What did the 23 July 2025 protests say about Ukraine's anti-corruption bodies?
A retrospective on the mass demonstrations that followed a law placing the NABU and the SAP under the Prosecutor General.

What was at stake in Ukraine on 23 July 2025, the day after parliament's vote on the anti-corruption bodies and the president's signature turned into street protest? The answer lay in a law that placed the National Anti-Corruption Bureau (NABU) and the Specialized Anti-Corruption Prosecutor's Office (SAP) under the Prosecutor General.
The law and the signature
On 22 July 2025, the Ukrainian parliament adopted the law, and President Volodymyr Zelenskyy signed it despite calls to veto it. As reported at the time, the signature allowed general control over the two bodies. Protests broke out across the country in response.
The scale was notable. The demonstrations were described as the largest anti-government protest in Ukraine since the start of the Russian full-scale invasion in 2022. In later accounts, they ran from 22 to 31 July 2025, with people gathering in Kyiv, Odesa, Lviv, Dnipro and other cities. The protests became known as the Cardboard protests, or Cardboard Maidan, because participants carried handmade posters.
Why the institutional question mattered
The core issue was independence. Placing the NABU and the SAP under the Prosecutor General meant that the bodies investigating corruption would answer to a single official in the prosecutorial hierarchy. Protesters, according to later descriptions, objected to a bill that aimed to effectively destroy the power of the two institutions. That framing explains why a legal change to institutional subordination drew crowds in wartime, when public demonstrations had been rare.
The timing sharpened the contrast. A day earlier, on 21 July 2025, the United States and Germany had agreed to send five Patriot missile defence systems to Ukraine. Military support from partners was moving forward while a domestic row over anti-corruption institutions was escalating.
Another item from 22 July 2025 showed law enforcement working in a different register: a suspected administrator of the cybercrime platform xss.is was arrested in Kyiv.
Implications as seen from 23 July 2025
The immediate implication was political. The president had signed the law in the face of public appeals for a veto, and citizens in many cities responded within hours. The episode showed that public attention to anti-corruption bodies persisted even under the pressures of war.
For an international readership, the lesson was about how closely domestic accountability and external support were tied in public debate. The protests did not concern the war effort itself; they concerned who controls the bodies that investigate corruption. On 23 July 2025, that question was open and visible in the streets.