Supported document type
Detect tampered and deepfake INE Voter Credential (Mexico)
The Credencial para Votar issued by the Instituto Nacional Electoral (INE) is Mexico's most widely accepted photo ID, free to citizens aged eighteen and over, and the default identity document for banking, telco, and fintech onboarding. It prints two structured identifiers, the CURP and the clave de elector, that both embed the holder's birth date and sex, so a card edited on the front rarely agrees with its own numbers.
API slug: mexico_ine
Last updated:
What a genuine INE credential contains
The clave de elector is eighteen characters built from letters of the surnames and name, the birth date as YYMMDD, a state code, a sex letter, and a homoclave. The CURP is also eighteen characters, with name letters, birth date, sex marker, a state code (NE for those born abroad), internal consonants, a differentiator, and a final check digit. The card also shows the registration year, electoral section, emission, vigencia, photograph, and signature.
The CIC, a nine-digit number, and the OCR, a thirteen-digit number, identify the plastic and change on every reissue, while the CURP and clave de elector stay constant for a person. Several card models circulate, the address may be hidden by the holder, and the reverse carries QR codes and a barcode on recent models, so each model is judged against its own layout.
How INE credential forgeries are made
CURP check-digit validation
The last character of the CURP is a computed check digit over the first seventeen. A CURP failing the computation was typed rather than issued.
Birth-date and sex coherence
Both the CURP and the clave de elector embed the birth date and a sex marker. Decoding them and comparing against the printed fecha de nacimiento and sexo catches edits at the number level.
Name-derived letters
The leading letters of the clave de elector come from the holder's surnames and name. Letters that cannot be derived from the printed name signal a swapped name line.
Vigencia and identifier formats
The vigencia must sit within ten years of emission, the CIC has nine digits, and the OCR thirteen. A card breaking those rules contradicts the issuing design.
Reverse-code presence and patching
Recent models carry QR codes and a barcode on the reverse. A missing or flattened code region, or portrait and field patches with their own compression history, signals assembly.
What TamperCheck checks on an INE credential
TamperCheck runs 200+ forensic checks across three layers and returns a risk score from 0 to 100 with plain-English findings tied to specific regions of the document. These three carry the most weight on this document class.
Portrait substitution and face-swap analysis
The document is isolated from whatever it was photographed on, then the portrait region is assessed against the card surface around it. A pasted or generated face rarely matches the substrate it was placed onto.
Barcode and QR payload comparison
Encoded payloads are decoded and compared against the human-readable values printed alongside them. Editing the visible text without re-encoding the barcode is a common and highly detectable mistake.
Date and validity consistency
Issue, expiry, and period dates are checked against one another and against the file's own creation metadata, which catches backdating and validity extension.
And many more checks
The three above are the layers that carry the most weight on an INE credential. Every upload runs the full suite of 200+ checks regardless of document class, spanning file structure and metadata, pixel-level forensics, font and text rendering, optical and print characteristics, provenance signals, AI-generation signatures, and many more checks.
Who verifies an INE credential, and why
Mexican banks, fintechs, and telcos. In each case the document is being used to unlock money, access, or a legal status, which is exactly what makes it worth forging.
How to verify an INE credential in 4 steps
Capture both sides
Photograph front and reverse flat at full resolution so the CURP, clave de elector, CIC, OCR, and code regions survive close analysis.
Validate the CURP
Apply the check-digit computation, then compare the encoded birth date, sex marker, and state code with the printed fields.
Weigh the other identifiers
Check the clave de elector letters against the printed name, the CIC and OCR lengths, and the vigencia against the emission.
Run a forensic check on the file
The identifiers carry the structural story, and the print carries the edit history. TamperCheck runs 200+ forensic checks including CURP validation and identifier decoding and patch detection, returning a risk score from 0 to 100 with findings tied to specific regions of the image.
Frequently asked questions
What is the difference between CURP and clave de elector?
Both are eighteen characters that embed the birth date and sex, but the CURP follows the national population registry rules and ends in a check digit, while the clave de elector is the electoral identifier. Both stay constant for a person across renewals.
What are the CIC and OCR numbers?
The CIC is a nine-digit number and the OCR is a thirteen-digit number that identify the physical card, and they change when it is reissued. A wrong length is a structural red flag.
How long is an INE credential valid?
It is valid ten years from issue, and older models have lost validity. A vigencia more than ten years past the emission contradicts the issuing rule.
How does TamperCheck verify an INE credential?
TamperCheck validates the CURP check digit, compares the encoded birth date and sex with the printed fields, tests identifier formats, and inspects the portrait and reverse code regions. Uploads run through a single REST endpoint, are processed ephemerally and not stored, and findings tie to specific regions.
TamperCheck analyses ine voter credential (mexico) uploads with a hybrid forensic and AI pipeline tuned for this document class. Upload endpoints accept PDF and common image formats; class is inferred automatically. See the API documentation for authentication, async jobs, and webhooks.