Specifications¶
The following permissions are required for the SDK to function correctly:
- Camera: Used to record the user’s face and document. By default, the SDK launches the front camera on all devices (smartphones, tablets, desktops, laptops), and this cannot be changed by config.
- Microphone: Used to capture audio input during the process. This is required for the voice recording step where the user must say the full name aloud.
Browser compatibility¶
The SDK supports the following devices and browsers:
Desktop Browsers**¶
| Browser Name | Minimum version | Current version |
|---|---|---|
| Chrome | 83 | 142 |
| Firefox | 132 | 144 |
| Safari | 15.4 | 26 |
| Opera | 69 | 123 |
| Edge | 83 | 142 |
Mobile and Tablets Browsers**¶
| Browser Name | Platform | Minimum version | Current version |
|---|---|---|---|
| Chrome | Android | 135 | 142 |
| Firefox | Android | 132 | 144 |
| Edge | Android | 83 | 141 |
| Opera Mobile | Android | 80 | 92.3 |
| Samsung Internet | Android | 13.0 | 29 |
| Brave | Android | 1.85.120 | 1.85.120 |
| Huawei Browser | Android | 16.0.7.301 | 16.0.7.301 |
| Chrome | iOS | 135 | 142 |
| Firefox | iOS | 132 | 144 |
| Edge | iOS | 135 | 142 |
| Opera Mobile | iOS | 80 | 6.1 |
| Safari | iOS | 15.4 | 26 |
| Brave | iOS | 1.85 | 1.85 |
| GSA | iOS | 408.0 | 408.0 |
It is highly recommended that Android devices are compatible with Google Play Services to ensure browser updates
Browser APIs¶
Webview compatibility¶
The SDK supports the following webviews:
| Webview Name | iOS | Android |
|---|---|---|
| Yes | Yes (1) | |
| Yes | Yes (1) | |
| WKWebView native iOS webview | Yes | - |
| SFSafariViewController native iOS webview | Yes | - |
| Android WebView native Android webview | - | Yes |
| Chrome Custom Tabs native Android webview | - | Yes |
| Trusted Web Activity native Android webview | - | Yes |
(1) In Instagram and Facebook webviews, access to the microphone is not allowed, so video recording was done without audio.
The SDK is compatible with Meta webviews, i.e. you can run it in Facebook and Instagram apps for Android and iOS. We also support native webviews for iOS and Android. However, we do not guarantee full compatibility or functionality with webviews from applications built using other frameworks, including hybrid frameworks, the performance and behaviour may vary.
Minimum supported devices version¶
| Devices | Minimum version |
|---|---|
| Android | Android 10 |
Minimum recommended requirements for devices¶
Veridas recommends the following minimum requirements:
| Android devices | Minimum recommended requirement |
|---|---|
| Camera resolution | At least 1080p (Full HD) |
| RAM | At least 4GB, 6GB preferred |
| Processor (CPU) | Mid-range and recent |
| Screen resolution | At least 1080p (Full HD) |
| iOS devices | Minimum recommended requirement |
|---|---|
| Device model | From iPhone 11 onwards |
Please note that devices below these minimums may not function properly. Additionally, it's important to emphasize that while meeting these minimum specifications ensures functionality, exceeding them does not guarantee impeccable performance in all cases.
Video recording parameters¶
The SDK records video with the following parameters:
| Parameter | Value |
|---|---|
| Requested resolution | 1920x1080 (Full HD) |
| Requested frame rate | 30 fps |
| Video codec | VP9 (video/mp4;codecs=vp9) on desktop and Android; H.264 (video/mp4;codecs=avc1.42E01E) on iOS |
| Video bitrate | 1.5 Mbps (1,500,000 bps) |
| Audio codec | AAC (audio/mp4;codecs=mp4a.40.2) |
| Audio bitrate | 128 kbps, 48 kHz sample rate, stereo (2 channels) |
The resolution and frame rate above are the values requested from the camera; the browser negotiates the closest value the device can deliver.
Dependencies¶
| File Name | Size file |
|---|---|
| vd-video.umd.js | 4.50 MB |
| vd-video.es.js | 4.50 MB |
| images | 2.40 MB |
| OpenCV | 1.50 MB |
| cv.worker.js | 2.00 KB |
Serve the assets compressed¶
The sizes above are the uncompressed sizes of the files on disk. We recommend serving the SDK static
assets with Brotli compression (Content-Encoding: br), falling back to gzip for the few clients
that do not support it. Every browser supported by the SDK accepts Brotli, and the JavaScript bundles
and the WebAssembly files compress very well, so the bytes actually transferred and the loading times
are noticeably lower.
Enable it in the web server or CDN that serves the folder configured in
setup.pathAssets, either by compressing the responses
on the fly or by pre-compressing the assets at build time and serving the .br files. Images
(.png, .jpg) and other already compressed formats do not benefit from it and can be excluded.
The .dat model weight files, under tensorflow/models inside the assets folder, must not be
served compressed: there is no benefit in compressing them.