Long lines of Russians endured subzero temperatures in January 2024 to demand that anti-Ukraine war candidate Boris Nadezhdin be allowed to run in the forthcoming presidential election. It was protest by petition—a tactic that reflects the legacy of Alexei Navalny, the longtime Russian pro-democracy campaigner. Authorities say Navalny, a persistent thorn in the side of Russian President Vladimir Putin, died in prison on Feb. 16, 2024.
For more than a decade, Navalny fought Russian authoritarianism at the ballot box and on the streets as the most recognizable face of anti-Putinism, filtering support to candidates brave enough to stand against the Kremlin’s wishes.
Often opposition does not translate into electoral success. Nadezhdin supporters did not expect that their man could actually defeat Putin in the vote scheduled for March 20, 2024. Given how tightly the Kremlin controls politics in Russia, the result of the presidential election is a foregone conclusion.
But for many Russians, the opportunity to support Nadezhdin’s candidacy was the only legal means they had to communicate their opposition to Putin and the war. The fact that authorities ultimately barred Nadezhdin from participating suggests that the Kremlin remains cautious about any candidate who punctures official narratives of a nation united behind Putin’s war in Ukraine.
That effort to protest the election seems all the more poignant following Navalny’s death. It reflected the heart of a strategy that Navalny developed over more than a decade and that I have written about since 2011.
The Movement Remains
Navalny understood that opposition in Russia was about exposing the corruption in Putin’s party, United Russia; shining a light on electoral manipulation; and alerting the world to growing political violence.
Navalny highlighted the very real opposition to Putin and authoritarian rule that exists in Russia despite attempts to hide it from the world.
To achieve these goals, team Navalny—and it is important to remember that while Navalny the man is dead, the movement he sparked remains—repeatedly used elections to make the opposition visible and spark political debate.
Navalny emerged as a political force in 2011, when he kicked off a large national protest movement ahead of the 2012 parliamentary election by labeling Putin’s United Russia the “Party of Crooks and Thieves.” He held contests to create memes to illustrate the slogan and mobilized voters who did not support Putin’s party.
Putin inevitably won the election, with the head of the Organization for Security and Cooperation in Europe observer mission commenting that due to irregularities and abuses the winner “was never in doubt.”
But nonetheless, Navalny’s efforts meant that a new opposition was in place and ready to take to the streets to fight election fraud.
Getting Out of the Electoral ‘Ghetto’
Despite his arrest and conviction on fraud charges in 2013, Navalny ran for mayor of Moscow that year. In the campaign, he innovated electoral politics, recruiting young volunteers who met voters on the streets and in their apartment blocks.
Navalny won almost 30% of the vote—double that expected—and claimed that the only reason Putin’s hand-picked candidate, Sergei Sobyanin, had got above the 50% needed to secure a first-round victory was due to a falsified vote.
Navalny later articulated the real success, as he saw it, in an interview with fellow opposition figure Vladimir Kara-Murza: “We have shown that ordinary people—with no administrative resources, no corporate sponsors, no public relations gurus—can unite and achieve results at the ballot box,” he said. “We have shown that we are no longer confined to a 3% electoral ‘ghetto.’”
Navalny concluded: “For me, the most important result of this campaign is the return of real politics to Russia.”
During that 2013 campaign, my research team interviewed Navalny activists and observed the work in campaign headquarters.
These interviews underscored Navalny’s relationship with the people. Many of the volunteers rejected the idea that they were working for him. Instead, they were volunteering because they admired Navalny’s tactics. They liked his political style. They wanted change in Russia.
Navalny brought Russians alienated by Russian politics together and empowered them. As one campaign volunteer interviewed in our study argued, “We all were frightened before the first protest and even left a will before we joined the movement. But it was not a mob. There were people like us. The feeling we had in Navalny’s office was the feeling of being with people like me.”
Through the next decade, Navalny and his team continued to return political competition to Russia’s politics. They built local organizations that attracted support and found some success in Siberian cities Tomsk and Novosibirsk, despite the endless obstacles the Kremlin placed in their way.
Return From Exile
The culmination of these efforts is a system Navalny developed in 2018 called Smart Voting. Through an online tool, the Navalny team encourages Russians to support any reform-minded candidates in elections and in particular directs voters to the candidate most likely to beat Putin’s United Russia party.
Research by Russian scholars Mikhail Turchenko and Grigorii Golosov shows that the tool has had a very significant effect on voters and increasing turnout, opposition votes and popular attention on elections.
Navalny’s efforts seemingly irked the Russian state and may have been the impetus of an assassination attempt against him by Russia’s domestic security agency, known as the FSB, in 2020.
Navalny’s return to Russia under threat of arrest in February 2021 kicked off the largest street protests—in support of the opposition leader—since the collapse of the Soviet Union.
These protests inspired a new generation of activists. They also marked new levels of police brutality against pro-democracy demonstrators in the streets and in the years since.
Handing on the Baton
Since 2022, I have led a research team that has interviewed Russians who left the country in opposition to the war in Ukraine. Many participated in the anti-war protests of late February and early March 2022 and point to Navalny’s return to Russia as the origin of their own political engagement and activism.
As one respondent argued: “My civic position began to emerge. All this was close to Navalny, his movement, and his encouragement to notice something, to pay attention … I began to go to rallies, and became much more interested and aware of politics.”
They support Ukrainian refugees and war efforts and participate in tracking down children who have been taken to Russia. They are active in anti-war demonstrations and support each other in exile.
This new generation of Russian activists—whether those in exile advocating for change or those risking their well-being in Russia to support anti-war candidates—is Navalny’s legacy, and I believe it is powerful.
Before his death, Navalny spoke directly to the generation of activists he inspired: “Listen, I’ve got something very obvious to tell you. You’re not allowed to give up. If they decide to kill me, it means that we are incredibly strong.”
The Conversation is a nonprofit, independent news organization dedicated to unlocking the knowledge of experts for the public good. We publish trustworthy and informative articles written by academic experts for the general public and edited by our team of journalists.
{"id":null,"mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Factkeepers.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Help Support Factkeepers","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"Factkeepers.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to donate? You can change this amount to anything you would like.","initial":{"instruction_type":"normal","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"invalid_curency":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to donate this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to donate this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to donate this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}