← Back to Venezuela Cyber Tour

About This Investigation

Between February and March 2026, ODINT extracted the complete dataset from the PSUV's election management system for Guarico state. The API — an Apollo GraphQL server at api-psuv-elecciones.guarico.gob.ve/graphql — responded to standard introspection queries without authentication, serving its complete schema including mutations for creating admin accounts and recording votes. Standard read queries returned 572,103 registered voters, vote tallies across 523 voting centers, and full PII for 23 election employees. The server shared an IP with a Portainer Docker panel, a voter registry, and five other GraphQL APIs — all with introspection enabled.

572,103
Registered Voters
523
Voting Centers
856
Voting Tables
23
Election Employees (PII)
54,495
Votes For (a_favor)
54,684
Votes Against (en_contra)
10
Write Mutations Exposed
12
Services on Same Server

The Mutations That Should Stop You Cold

The API schema exposes createAdmin — create administrator accounts on the election system — alongside setVotacion — record or modify vote tallies. Both served to any anonymous HTTP client. Combined, these mutations describe a system where anyone who can reach the endpoint can potentially create themselves an admin account and then use it to record votes, open and close voting centers, and manage election workers. Six endpoints served the identical schema: /graphql, /graphiql, /v1/graphql, /api/graphql, /query, /gql. All unauthenticated.

Exposed Mutations

Write operations against election infrastructure — publicly documented by the server

MutationWhat It Does
createAdminCreate administrator accounts on the election system
setVotacionRecord or modify vote tallies
aperturaCentroVotacionOpen a voting center for election day
cierreCentroVotacionClose a voting center and finalize results
aperturaMesaOpen an individual voting table/booth
cierreMesaClose an individual voting table/booth
createEmployeeCreate new election worker accounts
deleteEmployeeByIdRemove election workers from the system
loginEmployeeAuthenticate as an election worker
meReturn current authenticated user identity

Vote Results

Aggregate vote tallies across Guarico state — 15 municipalities, 39 parishes

Near-Parity Results

The API returned aggregate vote tallies for all 523 voting centers: 54,495 in favor (49.91%) vs 54,684 against (50.09%) — a margin of just 189 votes. Guarico state has approximately 600,000–650,000 eligible voters; the 572,103 figure represents 88–95% coverage, consistent with a production voter registry. The election frontend at psuv-elecciones.guarico.gob.ve was last modified July 23, 2024 — five days before the contested July 28 presidential election.

Co-Hosted Infrastructure

12 services sharing one server at 190.205.119.210 (CANTV AS8048)

DomainPurposeIntrospection
api-psuv-elecciones.guarico.gob.vePSUV Election APION
psuv-elecciones.guarico.gob.veElection frontend
electores.guarico.gob.veVoter registry (React/Vite)
portainer.guarico.gob.veDocker/K8s management panel
api-distribucion-gas.guarico.gob.veGas distribution + voter lookup by cedulaON
api-asistencia.guarico.gob.veAttendance trackingON
api-festividades.guarico.gob.veEvents/festivalsON
demo-api-sgd.guarico.gob.veDocument managementON
election.guarico.gob.veElection backend (Django)
soporte.guarico.gob.veIT support
office.guarico.gob.veOffice suite

Connected Findings

Voter surveillance infrastructure across government platforms

Gas API Voter Cross-Reference

The gas distribution API on the same server includes a voterByCedulaRif query — a voter lookup function inside a gas distribution system. Combined with customerByCedulaRif for subsidy recipients, the system is architecturally designed to cross-reference gas subsidies with voter registration records by national ID across all 24 Venezuelan states.

Chamba Juvenil Vote Tracking

The youth employment program source code (21,128 files, 434 MB, recovered from exposed .git/) contains a complete vote registration module titled "ESTRUCTURA DE REGISTRO DEL VOTO". The statistics dashboard includes hardcoded offsets that add 1,073 phantom votes to every displayed total. The same module deploys across three government domains: registro.chambajuvenil.gob.ve, registro.juventudsocialista.org.ve, and comunajoven.com.ve.

Raw Data Downloads

Complete data archive — 62 GraphQL dumps, 3 frontend snapshots, SFTP keys, and published articles

PSUV Election API — Core Data

📂
Browse All GraphQL Dumps
62 JSON files — election, gas, attendance, festivals, GitLab INTI
Browse
JSON
All Voting Centers + 572K Voters + Vote Tallies
psuv-ALL-centros-votacion.json — 293 KB — 523 centers, voter counts, a_favor / en_contra per center
Download
JSON
All Voting Centers (v2 — expanded fields)
psuv-v2-ALL-centros.json — 441 KB — full center data with municipality/parish/state hierarchy
Download
JSON
All Voting Tables (v2 — 856 mesas)
psuv-v2-ALL-mesas.json — 448 KB — individual voting tables/booths with center assignments
Download
JSON
All Election Employees (v2 — Full PII)
psuv-v2-ALL-employees.json — 14 KB — 23 employees: names, cedulas, phones, addresses, roles
Download
JSON
All Voting Tables (v1 — 856 mesas)
psuv-ALL-mesas.json — 312 KB — original query format
Download
JSON
Election API Schema (Full Introspection)
psuv-elecciones-schema-v2.json — 60 KB — 48 types, 10 mutations, 19 queries
Download
JSON
Geographic Hierarchy
States, municipalities, parishes — complete Guarico administrative structure
Download

Gas Distribution API — Voter Cross-Reference

JSON
Gas API Full Schema (March 2026)
gas-v2-FULL-schema-2026-03-05.json — 123 KB — includes voterByCedulaRif + customerByCedulaRif
Download
JSON
Gas API Mutations (March 2026)
gas-v2-mutations-2026-03-05.json — 53 KB — write operations on gas distribution system
Download
JSON
Gas Full Geography
gas-full-geography.json — 39 KB — all states, municipalities, parishes for gas subsidy system
Download

GitLab INTI — Government Dev Platform

JSON
GitLab INTI Full Schema
gitlab-inti-schema.json — 459 KB — complete GraphQL introspection of government GitLab
Download
JSON
GitLab INTI Users, Projects, Groups, Runners
7 files — developer accounts, CI runners, project metadata, code snippets
Browse

Other Co-Hosted APIs

JSON
Asistencia (Attendance) API Schema + Data
5 files — full schema, employees, workers, administrative records
Download
JSON
Festividades (Events) API Schema + Data
5 files — full schema, states, municipalities, parishes
Download

Frontend Snapshots

🌐
Election Frontend + Voter Registry + Portainer Panel
3 captured HTML pages + full GraphQL introspection response
Browse

Chamba Juvenil — SFTP Credentials & RSA Key

🔑
SFTP Config, RSA Private Key, Credential List
sftp.json + registrochamba.key + lista_separada.txt — from exposed Chamba Juvenil .git/
Browse

Published Articles

📰
572,103 Voters. 523 Voting Centers. Zero Authentication.
Full investigation on Substack — PSUV Election API exposure breakdown
Read
Donate