Skip to main content

Petition AUR for free elections - False or genuine signatures?

We analyze the situation of the AUR petition, which was submitted in response to the CCR decision from December 6, 2024, that invalidated over 9,000,000 validly cast votes.

β€” Stefan-Lucian Deleanu

Before we discuss the AUR petition, I believe it is important to briefly and succinctly analyze the series of events that have led us to this point.

On November 24, 2024, during the first round of the presidential election in Romania, the winners of the first round were CALIN GEORGESCU, with approximately 2.1 million votes, and ELENA-VALERICA LASCONI, with 1.77 million votes.

The results of the first round were shocking, as candidate CALIN GEORGESCU is not a well-known politician, and the impact of this shock was noted by the Supreme Council of National Defense (CSAT), which indicated that searches in the following days increased significantly, as did reports from Google Trends:

Google Trends Extras (12.08.2024 21:44) about Calin Georgescu and his popularity on Google
Google Trends Extras (12.08.2024 21:44) about Calin Georgescu and his popularity on Google

This significant increase, in our opinion completely organic and driven by the search for confused voters due to the win of a no-name candidate in Romanian politics, was mentioned as being artificial in the MAI report presented at the CSAT meeting.

Additional information from the MAI Information Note provided to CSAT

However, we can see that people have indeed searched for Calin Georgescu everywhere on social media / on Google, probably even on ChatGPT, just to gather information about this hard-to-believe election outcome.

The authorities have taken notice of its virality and have started to "dig into" Calin Georgescu to inform the public about his opinions.

Given the candidate's fascination with certain legionary figures, authoritarian leaders from foreign countries, as well as ideas that lack real feasibility (nationalization, the development of the "Horse Industry," exiting NATO and the EU as a solution to Romania's poverty), the press has begun to severely sanction him during prime time, displaying excerpts from his content where he exhibits deviations.

The team generated by his deviations, and the potential gain of a candidate with commendatory opinions about him Corneliu Zelea Codreanu (The Captain), Marshal Ion Antonescu, Vladimir Putin such actions have generated strong reactions from civil society.

Furthermore, the press has begun to popularize the idea that Calin Georgescu is actually a candidate who obtained votes through the support of a state actor, who allegedly used bots to bolster his campaign.

On December 4th, a large number of reputable non-profit associations requested the declassification of the CNAS information notes, which has indeed occurred.

An example of a press release regarding the open letter

The President of Romania, Klaus Werner Iohannis, has reacted and thus declassified the reports from CNAS (note: which do not provide clarity, but rather a basis for initiating criminal proceedings regarding certain problematic facts), which have generated shock and dismay in Romanian society.

Following the shock, the Constitutional Court, after confirming the first round of elections, ultimately chose to annul it, as the number of petitions received was significant.

Motivation The decision was not based on the procedural rules to which the Constitutional Court was subject, and it was rather a politically motivated ruling. However, we cannot say that this is the first decision of the Constitutional Court of this kind.

The legal opinions from professionals seem to be varied, ranging from the assertion that the vote was obtained through fraud (deception), which would render the vote null (but isn't all electoral propaganda a form of deception?), to accusations regarding the risks of Russian state involvement, as well as other similar issues.

We will refrain from analyzing the solution for now. However, it has prompted the AUR party to launch https://alegerilibere.ro/ - A website dedicated to promoting free access to information and resources in Romania.a platform through which the initiation of free elections is requested.

At this time, the petition is halted, likely due to subsequent actions disrupting the operation of the petition signing platform by various individuals from r/programming:

What’s up with this site that has a number increasing by 10x 10 (+random number)? It can't get more hardcoded than this.
by u/TotalPizza2831 in scheduling

In response to incitement to commit crimes on Reddit, George Simion, the president of the AUR party, posted a story threatening to file criminal complaints to sanction these actions:

Watch out little hackers, what you are :)
by u/GeorgeSimionOfficial in Romania

Since the launch of the petition, it has faced criticism for being poorly constructed, and there are suspicions that the petition may be fraudulent, with signatures potentially being fictitious.


Is the number of signatures on the AUR platform fake?

As of 21:14 on December 8, 2024, we proceeded with the data analysis at the request of some former observer colleagues at Funky Citizens, with the aim of identifying whether we are dealing with a petition containing "false signatures".

Program used for data download

import requests
import json
import time
from datetime import datetime
import pytz

def fetch_and_save_data(url, output_file):
    # Set up Romania timezone
    romania_tz = pytz.timezone('Europe/Bucharest')
    
    while True:
        try:
            # Make the request
            response = requests.get(url)
            data = response.json()
            
            # Get current timestamp in Romania time
            current_time = datetime.now(romania_tz)
            
            # Add timestamp to the data
            data['timestamp'] = current_time.strftime('%Y-%m-%d %H:%M:%S %Z')
            
            # Append to file
            with open(output_file, 'a') as f:
                json.dump(data, f)
                f.write('\n')  # Add newline for readability
                
            print(f"Data saved at {data['timestamp']}")
            
        except Exception as e:
            print(f"Error occurred: {str(e)}")
        
        # Wait for 5 seconds before next request
        time.sleep(5)

if __name__ == "__main__":
    URL = "https://alegerilibere.ro/c.php"
    OUTPUT_FILE = "election_data.jsonl"
    
    print("Starting monitoring script...")
    print(f"Data will be saved to: {OUTPUT_FILE}")
    
    fetch_and_save_data(URL, OUTPUT_FILE)

Source code for aurmonitor.py

Analysis Results

Analysis by 14:04 of the relative increase/decrease in votes on alegerilibere.ro
Analysis by 14:04 of the relative increase/decrease in votes on alegerilibere.ro

We can see that although there are spikes in signatures before 08.12.2024, the false signatures were subsequently removed.

Moreover, certain spikes are natural, resulting from George Simion's videos and live appearances, as well as his presence on RealitateaTV, etc.

The fluctuations between night and day are natural and characteristic of a genuine petition that is going viral, as it resonates with many Romanians.

Total votes, until 14:04 (there was downtime around 1:00, votes remained at 0)

There are indeed some anomalies, anomalies that seem to be caused by the data added by the moderators from r/programming, who wanted to sanction Simion for being extremist and making such petitions.

If we take the time to eliminate the bots from Reddit, we see that the growth is natural.

Another example, from last night, without the correct date but demonstrating that there are natural fluctuations from minute to minute in the number of signatures.

The figures are incorrect; it is evening, but they show that fluctuations do exist; nothing is purely linear.

Conclusions - Real or Fake Petition?

πŸ’š
Response: A petition appears real, with "bots" from individuals seeking to invalidate legitimate signatures by adding false data.

Yes, the petition is real. Except for the situations of vigilantism from individuals who consider AUR to be extremists / malicious people / thieves / pro-Russian / agents of Russia, who have intervened solely to invalidate the petition, I have not seen any situations that cannot be explained by more innocent motives.

I expect AUR to invalidate the fictitious signatures. It would have been preferable to implement a Captcha system, as well as a posthog to effectively monitor data entry and provide user session records to prove that they are human.

N.R:
No matter how much we dislike a candidate, it is not acceptable to take justice into our own hands (especially with violence), committing offenses. Whether it's a PR strategy or not, I believe people should be allowed to express their viewpoints.

There are legitimate people upset by the decision from the Constitutional Court who wanted to join the petition.

Contrary Opinions - Analysis by Robert Takacs

The opinion stating that the AUR petition is in fact illegitimate, with false signatures, can be found here:

GitHub - RoTak00/aur-free-elections-fake: Data collected with the "signatures" gathered from the "freeelections" petition of AUR. It is observed that, in fact, the number of signatures increases linearly.
The data collected with the "signatures" gathered from the "free elections" petition of AUR shows that, in fact, the number of signatures is increasing linearly. - RoTak00/aur-free-elections-is-fake

Questions and Answers:

Why has the petition already started with 100,000 signatures?

First entry in the Wayback MachineOn December 7th, at 12:26, there was no counter for the number of signatures. Implicitly, it is likely that people signed without it being visible.

This can be verified through the link above.

Why does it have an almost linear trend in the short term?

It is possible that the number of "signatures" can be obtained from "SHOW TABLE STATUS" rather than using SELECT COUNT(*), which provides an estimated, statistical number.

It provides the data much faster, but it does so inaccurately. Here (for rational reasons), we prefer efficiency over accuracy. as long as the error rate is minor.

At a minute level, it can be observed that there is a clear variability in the number of signatures from minute to minute, with natural peak periods, etc.

Why do they have a fake counter in JavaScript?

The module that operated the counter on the site was to query /c.php, which displayed the number of signatures the petition had, and then increase the number on the site until it matched the value on the counter.

The growth rate of the displayed signatures was proportional to the distance between the value shown in the browser and the actual value. The number is based on the actual value, and it is an animation, not a perfect counter.

This is a nice element that encourages, from a marketing perspective, signing, because people feel that the petition is supported by others. It's a form of social proof.

Why is the site down (08.12.2024, 22:26)?

Some believe they are defending the rule of law while actually violating it.

Is the role of the petition solely to collect data for political marketing?

It is stated that it has a dual role. The TOS mentions that they will contact you at that number with various information about AUR. So, it's a campaign advertisement.

On the other hand, I believe that the mere existence of such a large number of signatures is proof that Romanians are upset. While the methodology for collecting signatures is questionable, it largely demonstrates the general social frustration.

Data can be deleted upon request to the DPO, although clearly few will ask for this.