Supported document type
Detect tampered and deepfake Russian Internal Passport
The Russian internal passport, Паспорт гражданина Российской Федерации, is the mandatory domestic identity booklet for citizens aged fourteen and over, issued by the Ministry of Internal Affairs, and it anchors identity for banks, employers, and public services. Its series and number have no check digit, so the forensic work rests on format, date logic, and the replacement pattern at ages fourteen, twenty, and forty-five.
API slug: russia_internal_passport
Last updated:
What a genuine Russian internal passport contains
The booklet is twenty pages: page two records the issuer and date, and page three holds the personal data and a photo. The number is a four-digit series, whose first two digits are a region code and last two the year the blank was produced, followed by a six-digit number, and the issuing unit has a six-digit department code written NNN-NNN. Fields include surname, given name, patronymic, sex, date of birth, place of birth, and issue date, with optional pages for residence, marriage, children, military status, and tax number.
Text is Cyrillic throughout, dates print as DD.MM.YYYY, and the optional pages may legitimately be blank. The passport is first issued at fourteen and replaced at twenty and forty-five, so issue dates cluster at those ages, and after forty-five it is valid indefinitely. It is not the foreign passport, which has an MRZ and a different number format.
How Russian internal passport forgeries are made
Series and number format
A valid internal passport has a four-digit series and a six-digit number. Any other structure contradicts the issuing format, and no check digit exists to fall back on.
Blank-year cross-check
The last two series digits give the year the blank was produced. A year that post-dates the printed issue date is a contradiction a forger often introduces.
Age and replacement logic
First issue comes at fourteen and replacements at twenty and forty-five. An issue date before the fourteenth birthday, or off the replacement pattern, breaks the issuing rules.
Department code format
The department code is six digits written NNN-NNN and should be coherent with the named issuing authority. A different format or a mismatch is an internal inconsistency.
Photo and text patching
Substituted photos and edited name or date lines leave cut-line edges, resolution steps, and font passes that localise the edited region.
What TamperCheck checks on a Russian internal passport
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.
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.
Reference and document number checks
Document, account, and reference numbers are checked for issuer format conformance and against every other place the same value appears on the page.
And many more checks
The three above are the layers that carry the most weight on a Russian internal passport. 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 a Russian internal passport, and why
Banks, employers, and onboarding teams handling Russian customers. 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 a Russian internal passport in 4 steps
Photograph every face
Capture the main data page and the issuer page flat at full resolution, so the series, number, department code, and dates survive close analysis.
Check the format
Confirm a four-digit series, a six-digit number, and a department code written NNN-NNN, with DD.MM.YYYY dates.
Test the date logic
Compare the blank year in the series with the issue date, and the issue date with the holder's age against the fourteen, twenty, and forty-five pattern.
Run a forensic check on the file
There is no check digit, so format and date logic carry the structural story and the print carries the edit history. TamperCheck runs 200+ forensic checks including series and date-logic validation and patch detection, returning a risk score from 0 to 100 with findings tied to specific regions of the image.
Frequently asked questions
What do the series digits on a Russian passport mean?
The first two digits are a region code and the last two are the year the blank was produced. A series year later than the issue date contradicts the document's own logic.
Does a Russian internal passport have a check digit?
No. The series and number carry no check digit, so verification relies on format, the blank-year cross-check, the department code format, and date logic across the holder's age.
When is a Russian internal passport replaced?
It is first issued at fourteen and replaced at twenty and forty-five, and after forty-five it is valid indefinitely. An issue date that does not fit that pattern is a structural red flag.
How does TamperCheck verify a Russian internal passport?
TamperCheck tests the series and number format, compares the blank year with the issue date, checks the department code format and date pattern, and inspects the photo region for patching. Uploads run through a single REST endpoint, are processed ephemerally and not stored, and findings tie to specific regions.
TamperCheck analyses russian internal passport 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.