Video KYC for cooperative banks is V-CIP, the RBI's Video-based Customer Identification Process, which urban, state and central co-operative banks may use under their 2025 KYC Directions: a trained bank official verifies the customer's identity over a live, recorded video call instead of a branch visit. Small finance banks (SFBs) can use the same process under their own 2025 Directions. In every case the bank "may" use V-CIP; it is allowed, not compulsory. (The RBI spells it "co-operative", and this guide does too in body text.)
This guide is for the IT, compliance and digital banking teams of co-operative banks and small finance banks. It explains which 2025 Directions apply to your bank, what they require of a V-CIP session, how assisted and low-bandwidth sessions work for rural customers, and how to build the customer's page and the agent console with VideoSDK.
Key takeaways
- Urban co-operative banks follow the Urban Co-operative Banks KYC Directions, 2025 (RBI/DOR/2025-26/291). State and central co-operative banks follow the Rural Co-operative Banks KYC Directions, 2025 (RBI/DOR/2025-26/316). Small finance banks follow the Small Finance Banks KYC Directions, 2025 (RBI/DOR/2025-26/200). Links to all three are in the table below.
- In all three, the bank "may undertake V-CIP" (para 25 for co-operative banks, para 27 for SFBs). The minimum standards that follow use the same wording as the commercial bank Directions, apart from paragraph numbers.
- If your bank offers V-CIP, it must be the first option for remote onboarding of customers who would otherwise be onboarded without a face-to-face meeting (para 43(1), para 45(1) for SFBs).
- The RBI allows assisted V-CIP through a Business Correspondent, but only at the customer's end. That is the main route for customers in villages and small towns.
- The 2016 KYC Master Direction and the 2020 V-CIP circular (RBI/2019-20/138) are withdrawn. Pages that still cite them as the rule are out of date.
- With VideoSDK, you can build both the customer's page (opened on a phone browser, no app install) and the agent console with the React SDK. Use the Identity Verification APIs, Geo Fencing and Geo IP Restriction for the checks; these are on the Enterprise plan.
What V-CIP is and what changed in 2025
V-CIP (Video-based Customer Identification Process) is a live, interactive video call between a bank official and a customer, during which the official verifies the customer's identity documents and face in real time. The RBI first allowed it in January 2020. For a co-operative bank, it means a member in another town can open an account or update KYC without travelling to a branch. Our guide to what video KYC is covers the basics for any bank.
What changed in late 2025 is the legal base. On 28 November 2025 the RBI withdrew its single 2016 KYC Master Direction and the circulars that amended it (the list of withdrawn circulars includes the 9 January 2020 V-CIP circular, RBI/2019-20/138). It issued separate KYC Directions for each type of regulated entity instead. The V-CIP rules moved into each of those Directions without change in substance, but the paragraph numbers differ by bank type. Cite the Directions that apply to your bank.
RBI V-CIP applicability to cooperative and small finance banks
| Bank type | Directions that apply | V-CIP paragraphs | Record keeping |
|---|---|---|---|
| Urban co-operative banks (primary co-operative banks under section 5(ccv) read with section 56 of the Banking Regulation Act, 1949) | UCB KYC Directions, 2025, RBI/DOR/2025-26/291 | 25 (when V-CIP may be used), 26 (minimum standards) | 49 |
| State co-operative banks and central co-operative banks (often called DCCBs), as defined in the NABARD Act, 1981 | Rural Co-operative Banks KYC Directions, 2025, RBI/DOR/2025-26/316 | 25, 26 | 49 |
| Small finance banks | SFB KYC Directions, 2025, RBI/DOR/2025-26/200 | 27, 28 | 51 |
All three were issued on 28 November 2025. Paragraph numbers below follow the co-operative bank texts; for an SFB, add two (26 becomes 28).
Para 25 lists what a bank may use V-CIP for:
- customer due diligence (CDD) for new individual customers, the proprietor of a proprietorship firm, and the authorised signatories and beneficial owners of legal entity customers
- converting accounts opened through Aadhaar OTP based e-KYC in non-face-to-face mode
- updation and periodic updation of KYC for eligible customers
Is video KYC compulsory for cooperative banks?
No. The Directions say "The bank may undertake V-CIP". A co-operative bank can keep onboarding customers in branches, and many will. Two things change once a bank does offer V-CIP. Every session must meet the minimum standards in para 26. And para 43(1) says that if the bank has introduced V-CIP, it "shall provide the same as the first option to the customer for remote onboarding".
What the RBI requires in a V-CIP session
Para 26 has three parts: infrastructure, procedure and records. This table lists the requirements a product team has to design for, with the controls that can meet them. Read the full text before you sign off a design; this is a summary.
| Requirement (para 26) | What it means for the build | Controls to use |
|---|---|---|
| Infrastructure in the bank's own premises; the connection must originate from the bank's own secured network domain (26(1)(i)) | Agents run sessions from the bank's network, not from home Wi-Fi | Agent console on the bank's network; firewall rules for the video service |
| Cloud allowed on conditions: data ownership rests with the bank, data and video move to the bank's servers right after the session, and the cloud or third-party provider "shall retain no data" (26(1)(i)) | Recordings and captured images must land in the bank's systems | Recordings delivered to the bank's own storage; captured images saved in your own system |
| End-to-end encryption between the customer device and the hosting point; consent recorded in an auditable way (26(1)(ii)) | Encrypted transport; a consent step before the call | Consent screen in your app; see the encryption section below |
| Block connections from IP addresses outside India or spoofed IP addresses (26(1)(iii)) | Location check at join | Geo IP Restriction (Enterprise plan) |
| Recordings carry live GPS coordinates and date and time stamps (26(1)(iv)) | Location watermark on the recording | Geo tag recording template |
| Liveness and spoof detection, and face matching (26(1)(v)); blinking or smiling on request is not mandatory | Checks on captured images | Face Spoof Detection and Face Match APIs (Enterprise plan) |
| Security testing by CERT-In empanelled auditors (26(1)(viii)) | The bank commissions the audit | Your audit plan |
| Run only by officials of the bank specially trained for this purpose (26(2)(i)) | Agent roles and training | Agent login and role checks in your app |
| A dropped call means a fresh session (26(2)(ii)) | No resuming a half-finished session | Connection-state handling on the customer page and the console |
| Vary the sequence or type of questions; reject the session if the customer is being prompted (26(2)(iii), (iv)) | Question bank in the agent console | Your agent workflow |
| Identity through Aadhaar OTP e-KYC, offline Aadhaar (XML or Secure QR not older than three working days), CKYCR, or an equivalent e-document including DigiLocker (26(2)(vi), (viii)) | Document capture and checks | Image capture, OCR API |
| Capture an image of the PAN card unless the customer gives an e-PAN, and verify PAN with the issuing authority (26(2)(xi)); printed copies of e-documents are not valid (26(2)(xii)) | PAN capture step | Image capture, OCR API, your PAN verification provider |
| Account operational only after concurrent audit (26(2)(xv)) | A review queue after the call | Your case management system |
| All data and recordings stored in systems located in India, with date and time stamps (26(3)(i)); activity log and the official's credentials preserved (26(3)(ii)) | India-region storage and an audit log | Own storage in an India region, Geo Fencing to INDIA (Enterprise plan) |
Record keeping: para 26 sets no separate retention period for V-CIP. Para 26(3)(i) applies the general record-management rules to V-CIP data, and para 49(2) says identification records must be kept "for at least five years after the business relationship has ended". Ask your compliance team to confirm how your bank applies that to recordings.
Assisted V-CIP and rural branches
Many co-operative bank and SFB customers live where mobile data is weak or where they need help with a smartphone. The Directions allow for this: para 26(2)(xiv) says the bank "shall permit assisted V-CIP" through Business Correspondents (BCs), "only at the customer end". The bank must keep the details of the BC who assisted.
For the build, that means:
- The customer page must work on the BC's device. The BC opens the session on their phone or tablet and the customer sits in front of it. Log the BC's identity with the session record.
- The agent side does not move. The official still runs the session from the bank's premises and network. Assistance is allowed only at the customer end.
- Plan for weak networks. Run a pre-call network test, start with a lower-resolution camera track when the test scores are low (the precall guide shows how), and tell the customer before the call if the connection will not hold. Our guide to making video calls work in low-connectivity areas covers the WebRTC side in more depth.
- Expect drops. A dropped call means a fresh session under 26(2)(ii), so make starting a new session quick for the customer and the BC.
Own premises or cloud: what the RBI text allows
The infrastructure rule is the one that most often stalls a co-operative bank's V-CIP project. Para 26(1)(i) says the bank "shall house the technology infrastructure in its own premises" and the connection "shall necessarily originate from its own secured network domain". The same paragraph allows technology outsourcing under RBI guidelines and sets conditions for a cloud deployment.
VideoSDK is a cloud video service, so a design built on it uses the cloud route. A design that fits that route looks like this:
- Agents connect only from the bank's secured network. Allow the video service through the bank's firewall rather than letting agents work from outside it. VideoSDK's video KYC guide has a Firewall and Debugging section for this, including a cloud proxy option.
- Recordings go to the bank's own storage. VideoSDK can deliver recordings to the bank's own AWS S3, Azure Blob or Google Cloud Storage bucket, configured per API key (recording storage). Choose an India region.
- Captured images go to the bank's systems. Save document and face images in your own system after the session and do not keep them in the session's message history.
- The bank owns the data. Put data ownership, data location, deletion and audit rights in the outsourcing agreement, as the RBI's outsourcing guidelines expect. Talk to us about what VideoSDK keeps during and after a session on your plan, so your compliance team can check it against "shall retain no data".
Technical architecture
A V-CIP system on VideoSDK has six parts:
- Your backend creates a room for each session with the Create a Room API, issues tokens (both carry the
roomIdand a fixedparticipantIdin the payload, withversionset to2, as the video KYC guide recommends), keeps the queue of waiting customers, and stores the verification record. The video KYC guide leaves queueing and agent assignment to your system. - The customer page is a mobile web page built with
@videosdk.live/react-sdk, so members do not install an app. The customer joins with anask_jointoken and waits in a lobby until an agent admits them. - The agent console is a browser app built with
@videosdk.live/react-sdk. The agent's token carriesallow_joinandallow_mod, so the agent joins directly, admits the customer and can request the customer's camera or microphone. - The Identity Verification APIs (OCR, Face Match, Face Spoof Detection and Number of Face Detection) are called from your backend with images captured during the call. They are on the Enterprise plan.
- Recording writes the session to the bank's own storage, with an optional location watermark.
- The core banking system (CBS) receives the verified data, the recording reference and the audit fields once the concurrent audit passes.
Our post on building a video KYC agent dashboard covers the agent console's screens in more detail.
Building the customer page for the phone browser
Most co-operative bank and SFB customers will verify once, so asking them to install an app is a barrier. VideoSDK's video KYC guide has the customer join from a phone or a browser, and these samples build the customer side as a web page with the React SDK (@videosdk.live/react-sdk, version 1.2.0 when we tested them). The agent console uses the same SDK. Check the supported browsers against the phones your members use. Methods return Promises, so handle their errors.
We ran these samples with React SDK 1.2.0 in Chrome against a live VideoSDK room: the pre-call test, joining, the document capture and transfer, and the reconnecting and dropped-call states. The lobby denial path and the identity API success responses need a customer token with ask_join and an Enterprise key, so those parts follow the docs.
Installation
npm install "@videosdk.live/react-sdk"
Serve the page over HTTPS, because browsers only give camera and microphone access to secure pages.
Checking the network before the call
Run runPreCallTest() on the pre-call screen. It scores uplink and downlink quality from 1 (bad) to 5 (excellent) and lists the factors behind each score, such as packet loss or jitter.
import { runPreCallTest, PreCallTestError } from "@videosdk.live/react-sdk";
export async function checkNetwork(token) {
try {
const result = await runPreCallTest({
token,
samplingDuration: 15000, // 10000 to 120000 ms
});
const up = result.networkQuality?.uplink?.quality ?? 0;
const down = result.networkQuality?.downlink?.quality ?? 0;
return { up, down }; // warn the customer when either score is low
} catch (err) {
if (err instanceof PreCallTestError) console.log(err.code, err.message);
return { up: 0, down: 0 };
}
}
Creating and joining a room
Your backend creates the room and returns its roomId with the customer's token. Because the token carries the customer's participantId, the agent console can admit exactly the customer the session was created for. MeetingProvider wraps the session:
// KYCSessionScreen.jsx
import { MeetingProvider } from "@videosdk.live/react-sdk";
import KYCSessionView from "./KYCSessionView";
export default function KYCSessionScreen({ roomId, customerToken }) {
return (
<MeetingProvider
config={{
meetingId: roomId,
name: "Customer",
micEnabled: true,
webcamEnabled: true,
debugMode: false,
}}
token={customerToken}
joinWithoutUserInteraction={true} // the customer already agreed on the pre-call screen
>
<KYCSessionView />
</MeetingProvider>
);
}
Handling the lobby and connection drops
The customer waits in the lobby until the agent admits them. Per the waiting lobby guide, a denied customer stays connected until your page calls leave(), so handle that case. Use onMeetingStateChanged to show the connection state, and treat a lost connection as the end of the session, because the RBI asks for a fresh session after a drop.
// KYCSessionView.jsx
import { useState } from "react";
import { useMeeting } from "@videosdk.live/react-sdk";
export default function KYCSessionView() {
const [status, setStatus] = useState("Waiting for the bank official...");
const { leave, localParticipant } = useMeeting({
onEntryResponded: (participantId, decision) => {
if (participantId === localParticipant?.id && decision === "denied") {
leave().catch((err) => console.error("leave failed:", err));
// Return the customer to the scheduling screen
}
},
onMeetingStateChanged: ({ state }) => {
if (state === "RECONNECTING") setStatus("Reconnecting...");
if (state === "FAILED" || state === "DISCONNECTED") {
setStatus("The call ended. Please start a new session.");
// Mark this session incomplete in your backend
}
},
// Not supported on Android mobile web, per the docs
onAudioInputSilence: ({ state }) => {
if (state === "detected") setStatus("We can't hear you. Check your microphone.");
},
onError: ({ code, message }) => {
// Show actionable feedback; log the code, never the customer's data
console.log(code, message);
},
});
return <p>{status}</p>; // render the video and controls here
}
Document verification with VideoSDK OCR and face APIs
Capturing the document and the face
Capture images on the customer's own device rather than from the video stream in the agent's console, because the stream may use a lower-resolution layer on a weak network. The agent sends a capture request over PubSub, the customer's page calls captureImage() on its own camera, and the image goes back to the agent. Ask the customer to switch to the rear camera for the document and the front camera for the face; the agent can prompt the switch over PubSub, and the customer's page picks the camera with getWebcams() (each entry has a facingMode) and switches with changeWebcam().
This listener runs in the customer's page. It follows the React image capturer guide:
import { useParticipant, usePubSub, useFile } from "@videosdk.live/react-sdk";
function CaptureImageListener({ localParticipantId, token }) {
const { captureImage } = useParticipant(localParticipantId);
const { uploadBase64File } = useFile();
const { publish: sendImage } = usePubSub("IMAGE_TRANSFER");
usePubSub("IMAGE_CAPTURE", {
onMessageReceived: async (message) => {
if (message.senderId === localParticipantId) return;
try {
const base64Data = await captureImage({ height: 1080, width: 1440 });
if (!base64Data) throw new Error("No image captured");
const fileUrl = await uploadBase64File({ base64Data, token, fileName: "capture.jpeg" });
if (!fileUrl) throw new Error("Upload failed");
await sendImage(fileUrl, { persist: false, sendOnly: [message.senderId] });
} catch (err) {
console.error("Capture failed:", err);
}
},
});
return null;
}
The agent's console subscribes to IMAGE_TRANSFER and fetches the image with fetchBase64File(). Files in VideoSDK's temporary file storage are deleted when the meeting ends, so save the image in your own system as part of the verification record. Setting persist to false keeps the message out of the session's message history. If you would rather not use VideoSDK's temporary file storage at all, the video KYC guide describes sending the image in chunks over PubSub instead, which fits more closely with the RBI's "retain no data" condition.
Verifying the images
Call the Identity Verification APIs from your backend, never from the customer's device. Each takes a Base64 image with the data:image/jpeg;base64, prefix and a VideoSDK token in the Authorization header with no prefix. All four are on the Enterprise plan.
| API | Endpoint | Returns |
|---|---|---|
| OCR | POST https://api.videosdk.live/ai/v1/ocr (front and back of the document) | idType, idNumber, name, dateOfBirth, address, gender, mobileNumber |
| Face Match | POST https://api.videosdk.live/ai/v1/face-verification/verify | whether the two faces match (verified) |
| Face Spoof Detection | POST https://api.videosdk.live/ai/v1/face-verification/detect-spoof | a spoof flag and an accuracy value |
| Number of Face Detection | POST https://api.videosdk.live/ai/v1/face-verification/detect-faces | the number of faces in the image |
A server-side call for the face match:
// server/verifyFace.js
async function faceMatch(documentImage, liveFaceImage) {
const res = await fetch("https://api.videosdk.live/ai/v1/face-verification/verify", {
method: "POST",
headers: {
Authorization: process.env.VIDEOSDK_TOKEN ?? "", // token without a "Bearer" prefix
"Content-Type": "application/json",
},
body: JSON.stringify({ img1: documentImage, img2: liveFaceImage }),
});
if (!res.ok) throw new Error(`Face match failed: ${res.status}`);
return res.json(); // { verified: true | false }
}
Treat these results as inputs. Your application decides whether a verification passes, fails or goes to manual review, and the trained official makes the call. For more on liveness on mobile, see our guide to liveness detection in Android and iOS video KYC apps.
Agent interface with React
The agent console uses @videosdk.live/react-sdk. The agent admits the customer from the lobby by handling onEntryRequested, as in the waiting lobby guide:
import { useMeeting } from "@videosdk.live/react-sdk";
function AgentConsole({ expectedParticipantId }) {
useMeeting({
onEntryRequested: ({ participantId, name, allow, deny }) => {
// Admit only the customer this session was created for
if (participantId === expectedParticipantId) allow();
else deny();
},
onRecordingStateChanged: ({ status }) => {
// Do not start verification until status is "RECORDING_STARTED"
},
});
return null; // render the customer's video, capture buttons and checks here
}
From the console the agent can:
- request a capture over PubSub, as shown above, and review the returned image
- ask the customer to switch cameras, and guide them through chat over PubSub
- request the customer's camera or microphone with
enableWebcam()orenableMic(); per the video KYC guide, the customer page handlesonWebcamRequestedoronMicRequestedso the customer can accept - end the session for both sides with
end()once verification is complete
Recording the session
The RBI requires a recording with GPS coordinates and date and time stamps, stored in India. VideoSDK's video KYC guide recommends this setup:
- Start recording when the room is created, if the whole session must be recorded. Show the consent notice first, then add a
recordingentry toautoStartConfigin the Create a Room request. - Do not verify until recording has started. Both apps get
onRecordingStateChangedwithRECORDING_STARTED, and your backend gets therecording-startedwebhook. If you start recording from the console instead, the React SDK'sstartRecording(webhookUrl, awsDirPath, config, transcription)takes all four arguments as optional. - Close the room if recording fails. Add an
onFailureentry withactionset toclose-roomand awaitTimein seconds (the guide suggests 30), so a session never continues unrecorded. - Store the file in the bank's storage. Set up recording storage for the API key, as in the cloud section above;
awsDirPathis only a folder path inside that bucket. Your backend gets therecording-stoppedwebhook with the file path. - Add the location watermark. The geo tag recording template renders the coordinates your app publishes on the
GEO_TAGtopic. The watermark shows what your app supplied; it is not independent proof of location, so capture the coordinates from the device at the start of the call. - Encrypt at rest if you need to. Recording encryption encrypts each recording with its own AES key, wrapped with your RSA public key. It cannot be turned on together with transcription on the same API key.
Network resilience for rural areas
VideoSDK adapts video quality to the available bandwidth, and its low-bandwidth best practices cover the settings you can tune. For a V-CIP session on a weak rural connection:
- Test before the call. Use the pre-call scores to pick a starting resolution and to warn the customer.
- Show the connection state on both screens. Use
onMeetingStateChangedon both sides, so the customer and the official know whether the call is connecting, reconnecting or lost. - Watch for a silent microphone.
onAudioInputSilencewarns the customer when their microphone stops capturing audio, for example when a phone call takes over the microphone. The docs note it is not supported on Android mobile web, so the official should still ask the customer to repeat when audio drops. - Handle image transfers that fail. Show a pending state, set a timeout, and let the agent request a new capture.
- Close out a dropped session. Mark it incomplete in your CBS and never mark KYC as verified from a partial session (see the assisted V-CIP section for the RBI rule).
Compliance and audit
For every V-CIP control with its test and audit evidence, see our video KYC compliance checklist. Co-operative banks read each V-CIP paragraph one lower (26 where the checklist says 27), and small finance banks one higher (28).
Geo-fencing
Geo Fencing keeps media on VideoSDK servers in the regions you choose (INDIA, USA, UAE, EUROPE, SINGAPORE or AUSTRALIA), wherever the customer connects from. Geo IP Restriction allows or denies a join based on the customer's IP address and your regional rules. Both are on the Enterprise plan; contact sales to turn them on. IP location is not perfect: a customer on a VPN can appear to be elsewhere, so keep the live GPS capture and the official's checks as well.
End-to-end encryption
The RBI asks for end-to-end encryption between the customer's device and the hosting point of the V-CIP application. In VideoSDK's video KYC architecture (the diagram above), the customer's phone and the agent's console exchange encrypted audio, video and data with VideoSDK; confirm with your security team that this meets your reading of 26(1)(ii). VideoSDK also offers end-to-end encryption (E2EE) of media between participants, with keys your application manages (E2EE setup). The E2EE page says recording and transcription are not supported while E2EE is on, and V-CIP needs a recording. The same page explains how to record through a custom recording template that uses the same E2EE key; realtime transcription stays unavailable while E2EE is on. Talk to us before you rely on that route for audit recordings. Our guide to end-to-end encryption in video calls explains what E2EE protects.
Data retention
Keep recordings, captured images and the activity log in systems in India, with date and time stamps (26(3)(i), (ii)), and set a retention policy on your storage bucket that matches your bank's reading of para 49(2) (see the record keeping note above).
Audit log fields
For each V-CIP session, write these to your CBS or case system:
- room ID and session ID
- customer and account identifiers
- the official's employee ID and credentials used (26(3)(ii))
- the BC's details, for an assisted session (26(2)(xiv))
- consent record with its timestamp (26(1)(ii))
- session start and end times, and the connection log
- the questions asked and the customer's answers
- OCR output, face match, spoof check and face count results
- PAN verification result (26(2)(xi))
- recording file path, and the GPS coordinates captured at the start
- concurrent audit status, auditor ID and decision (26(2)(xv))
Glossary
- V-CIP is the Video-based Customer Identification Process: the RBI's method for verifying a customer's identity over a live, recorded video call with a trained bank official.
- Urban co-operative bank (UCB) is a primary co-operative bank under section 5(ccv) read with section 56 of the Banking Regulation Act, 1949, covered by the UCB KYC Directions, 2025.
- Rural co-operative bank means a state co-operative bank or a central co-operative bank (DCCB) as defined in the NABARD Act, 1981, covered by the Rural Co-operative Banks KYC Directions, 2025.
- Small finance bank (SFB) is a bank licensed by the RBI as a small finance bank, covered by the SFB KYC Directions, 2025.
- Assisted V-CIP is a V-CIP session where a Business Correspondent helps the customer at the customer's end.
- Concurrent audit is the review that must pass before an account opened through V-CIP becomes operational.
- CKYCR is the Central KYC Records Registry, one of the sources the Directions accept for identity during V-CIP.
Frequently asked questions
Do urban cooperative banks have to offer V-CIP?
No. Urban cooperative banks may offer V-CIP but do not have to: the UCB KYC Directions, 2025 say the bank "may undertake V-CIP" (para 25), and the Rural Co-operative Banks Directions say the same. If the bank does offer it, it must be the first option for remote onboarding (para 43(1)), and every session must meet the standards in para 26.
Which RBI rules apply to video KYC at a small finance bank?
The Small Finance Banks KYC Directions, 2025 (RBI/DOR/2025-26/200). V-CIP is in paras 27 and 28. The wording of the standards is the same as for co-operative and commercial banks.
Is the 2016 KYC Master Direction still the rule?
No. The RBI withdrew it on 28 November 2025, together with the 2020 V-CIP circular (RBI/2019-20/138), and replaced it with separate Directions for each type of bank.
Can a Business Correspondent help a customer with video KYC?
Yes, at the customer's end only. Para 26(2)(xiv) says the bank shall permit assisted V-CIP through Business Correspondents and must keep the details of the BC who assisted.
What documents does a customer need for a video KYC call?
Identity is established through Aadhaar OTP based e-KYC, offline Aadhaar (an XML file or Secure QR Code generated no more than three working days before the call), CKYCR, or an equivalent e-document including DigiLocker. The customer also shows a PAN card on camera, or provides an e-PAN. Printed copies of e-documents are not accepted.
Can a video KYC session run in a regional language?
Yes. The language is up to the official and the customer. VideoSDK's realtime transcription supports language codes including en-IN and hi, and realtime translation can help when the two speak different languages.
Conclusion
Video KYC is open to every co-operative bank and small finance bank, but it is a choice, and once a bank makes it the RBI's minimum standards apply to every session. Start from the Directions for your bank type, design the agent side around the bank's own secured network, plan assisted sessions for rural customers, and keep recordings and images in your own storage in India.
Build your V-CIP flow on VideoSDK. Sign up for VideoSDK to get API keys and follow the video KYC guide; a new account comes with a $20 credit (pricing). Planning V-CIP for a co-operative bank or a small finance bank that needs Geo Fencing, the identity APIs or recordings in your own storage? Talk to our team, or see the video KYC solution.

