Camera access
A short instruction: take the document out of its cover, find some light. Then the camera request. On a computer without a suitable camera, the user continues on a phone via a QR code.
Recognition of documents from a phone or computer camera video: the service finds the passport in the frame, prompts “closer” or “remove the glare”, takes the shot itself once the document is in the frame and sharp, and recognises the fields at once. Photos of a screen and printouts are rejected at capture time.
With a regular photo upload, the error is visible only after submission. In the camera stream, the check document recognition starts earlier: the service looks at the frame while the person holds the phone and helps to capture the document at the first attempt.
Every prompt in the stream saves an attempt: only the step that had a problem is retaken.
The screen shows a frame for the document. The user sees where to put the passport and from what distance to shoot, instead of picking an angle at random.
“Closer”, “further”, “more light”, “move your finger off the field” — the prompt appears while the camera is on, not after a rejection on the server.
When the whole document is in the frame, still and sharp, the shot is taken automatically. Perspective is straightened, glare and noise are removed before recognition.
The document is captured by the camera, not picked from the gallery. Photos of a screen, photocopies and printouts are rejected with a clear reason.
This is what one “Document” step looks like in the Web SDK or mobile SDK — from camera permission to recognised fields on your server. What the process looks like on a phone — in the Web SDK documentation.
Six conditions of a valid frame. While at least one is not met, no shot is taken and the user sees what to fix.
All edges of the form are in the frame, nothing is cropped. Fields cannot be read and security features cannot be checked on a cropped document.
The document takes up most of the frame rather than lying as a small spot on a table. Otherwise small text is not recognised.
A frame that is too dark is rejected: the prompt suggests turning on a light or moving to a lit place. It is better not to use the flash — it causes glare on the lamination.
Neither glare, nor a finger, nor a cover hides the surname, number, dates or the machine-readable zone.
The frame is in focus, without blur from hand movement. A blurry shot gives low-confidence fields and MRZ checksum errors.
A colour frame without processing: a black-and-white image looks like a photocopy and is not accepted.
Live capture is the best path when the client is next to the camera. For scans that are already in your system, there is the REST API. Request parameters are in the method documentation.
camera stream in the browser
camera stream in an app
ready images without a stream
A passport opened on a monitor, tablet or another phone is rejected: the service sees a screen in the frame and asks to shoot the original.
A black-and-white copy and a colour printout instead of the original are rejected. If you need scans and copies, these checks are turned off in the scenario.
The widget has no “upload a file” button: the document is captured by the camera here and now. A pre-prepared or edited shot is harder to slip in.
After the document, the scenario can ask for a selfie with the document and Liveness: a live person in front of the camera and a one-off match with the passport photo within this check.
Some substitutions are easiest to stop while the person is holding the camera. Above — what is caught when a document is captured in the stream.
Pasted-in elements, erasures, traces of a graphics editor and logical inconsistencies are checked on the server — more on the page authenticity check. Substitution of the video stream itself at the face step is covered by deepfake protection.
Wherever the client has the document in hand and a shot error costs an application or a queue.
A camera stream is not a video recording of the client
Under Part 5 of Art. 5 of 152‑FZ, data must not be excessive. For the “Document” step, a photo of the document is sent to the server, not a video recording of whatever got into the camera.
Set in the scenario
Under Part 7 of Art. 5, data is kept no longer than the purpose requires. The retention period of session data is set in the scenario, and you can delete a session earlier with an API method.
The NeuroVision cloud — on servers in Russia
Under Part 5 of Art. 18, the data of Russian citizens is recorded and stored on databases located in Russia during collection. The NeuroVision cloud runs on servers in Russia.
Frames do not leave your infrastructure
On installation in your environment document frames do not leave your infrastructure — for banks and companies with information security requirements.
A guideline, not a legal opinion
This is a guideline, not a legal opinion; the personal data operator remains your company.
152‑FZ
a Russian developer, software in the registry, No. 19972
Capture in the stream is not charged separately: prompts, frame checks and anti-fraud are included in the package. You pay for a KYC session with all steps, with no subscription fee. Test access — 1 month.
Calculate the costCapture in the stream works in every method where the NeuroVision camera shoots. You do not need to write your own camera interface.
Test access for 1 month, a personal manager, support under contract, pay only for checks.
Tell us which documents your clients capture and from which devices — we will show the frame, prompts and auto-capture on a demo scenario and give you test access for 1 month.
Can't put your request into words? Book a call and our team will contact you at a convenient time
Book a callThe company is included in the register of IT companies and the register of personal data operators of the Russian Ministry of Digital Development.
Address: Moscow, Presnenskaya Embankment 12 — Moscow City business centre, Federation Tower. Nearest metro stations: Delovoy Tsentr and Mezhdunarodnaya.
How to capture documents so that they are accepted at the first attempt — in our blog
Answers about capture in the stream, prompts, anti-fraud and cost
It is capturing a document in the camera stream: the service looks for the document in the frame, prompts how to shoot it, takes a valid shot itself and recognises the fields. Quality errors are fixed before submission, not after a rejection.
The user sees at once what is wrong: “closer”, “remove the glare”, “more light”. The document is captured here and now, so a pre-prepared or edited shot is harder to slip in.
No. The service works with the camera stream in real time and sends the selected frame for recognition. Ready JPEG and PNG images can be passed through the REST API.
No. When the whole document is in the frame, still and sharp, the frame is taken automatically.
Yes, if the computer camera is suitable and capture from a computer is allowed in the scenario. Otherwise the widget shows a QR code and the user continues on a phone.
The service notices that glare covers the fields and asks to tilt the document or the phone. It is better not to use the flash: on lamination it causes glare.
No. A photo of a document from a monitor, tablet or phone screen is rejected, and the user is asked to shoot the original.
Up to six free attempts per step. Only the step that had a problem is retaken; after the last failed attempt the session is closed.
Any documents from the list: 16,000+ types from 195+ countries and territories — passports, driving licences, ID cards, residence permits. Permitted documents are set in the scenario.
There is no separate charge for capture in the stream: the “Document” package is from 16 ₽ per session, an additional document is 10 ₽, the first month of testing is free.