{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["tabs","tab"]},"redocly_category":"SDK Reference","type":"markdown"},"seo":{"title":"Overview","description":"Everything about Mosaic Journeys, SDKs, and APIs","siteUrl":"https://developer.transmitsecurity.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"overview","__idx":0},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["react-native-ts-idv"]}," is a React Native module for Mosaic Identity Verification. It allows you to integrate document verification and selfie capture into your mobile application. It provides a streamlined verification experience that guides users through the process of capturing identity documents and performing liveness checks, using deep document inspection and biometric matching."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"capabilities","__idx":1},"children":["Capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Document capture and verification (ID cards, passports, driver's licenses)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Selfie capture with liveness detection"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Event-based status callbacks for the verification lifecycle"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configurable log levels for debugging"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"requirements","__idx":2},"children":["Requirements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["iOS 13.0+"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Android 5+ (API level 21+)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Device camera access"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"installation","__idx":3},"children":["Installation"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"npm","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"npm install react-native-ts-idv\n","lang":"shell"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"yarn","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"yarn add react-native-ts-idv\n","lang":"shell"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For iOS, install native dependencies:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"cd YOUR_PROJECT_PATH/ios\npod install\n","lang":"shell"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["platform :ios, '13.0'"]}," in your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Podfile"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For Android, add the Mosaic Maven repository to your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app/build.gradle"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"groovy","header":{"controls":{"copy":{}}},"source":"repositories {\n    maven {\n        url('https://transmit.jfrog.io/artifactory/transmit-security-gradle-release-local/')\n    }\n}\n","lang":"groovy"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"initialization","__idx":4},"children":["Initialization"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"iOS","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TransmitSecurity.plist"]}," file in your Xcode project:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"xml","header":{"controls":{"copy":{}}},"source":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n    <key>credentials</key>\n    <dict>\n        <key>baseUrl</key>\n        <string>[BASE_URL]</string>\n        <key>clientId</key>\n        <string>[CLIENT_ID]</string>\n    </dict>\n</dict>\n</plist>\n","lang":"xml"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Android","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Update ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["strings.xml"]}," with your credentials:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"xml","header":{"controls":{"copy":{}}},"source":"<resources>\n    <string name=\"transmit_security_client_id\">[CLIENT_ID]</string>\n    <string name=\"transmit_security_base_url\">[BASE_URL]</string>\n</resources>\n","lang":"xml"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Initialize the SDK and register for status updates:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"import IdentityVerification from 'react-native-ts-idv';\nimport { NativeModules, NativeEventEmitter } from 'react-native';\n\nconst { TsIdv } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(TsIdv);\n\nawait IdentityVerification.initializeSDK();\n\nconst subscription = eventEmitter.addListener(\n    'idv_status_change_event',\n    onVerificationStatusChange\n);\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure the base server URL based on your region:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Region"},"children":["Region"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Base URL"},"children":["Base URL"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["US"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EU"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.eu.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Canada"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.ca.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Australia"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.au.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Japan"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.gasne1-ts01.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sandbox"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.sbx.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom domain"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://<your-domain>.com/"]}," (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/deployment/custom_domains"},"children":["Custom domains"]},")"]}]}]}]}]}]},"headings":[{"value":"Overview","id":"overview","depth":1},{"value":"Capabilities","id":"capabilities","depth":2},{"value":"Requirements","id":"requirements","depth":2},{"value":"Installation","id":"installation","depth":2},{"value":"Initialization","id":"initialization","depth":2}],"frontmatter":{"title":"Identity Verification SDK for React Native","markdown":{"toc":{"depth":2}},"seo":{"title":"Overview"}},"lastModified":"2026-08-12T11:57:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/sdk-ref/react-native-ts-idv/idv_overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}