Skip to content

Frequently Asked Questions

Will Morgan edited this page Nov 25, 2021 · 9 revisions

What is the size impact of the Web SDK?

We know that SDK size impact is an important factor, and we continue to do everything we can to pack iProov's advanced technologies into as small a payload as possible. We get asked this question quite a bit, and it's a hard one to answer.

The short answer: as of version 3.1.0, a typical user should expect to use around 2MB of bandwidth on their first page visit to load 4.9MB of resources thanks to gzip compression.

The long answer:

We ship two entrypoints as of 3.1.0: an iProovSupport entrypoint which is 16kB of JS to determine whether a user's browser is supported. This can be included in your app's main bundle to decide whether the main entrypoint, iProovMe.js needs to be downloaded for later navigation.

As part of iProovMe.js we download additional workers and assets in order to provide the user experience. This includes WebAssembly, Tensorflow models and other binaries used in feature detection. Despite their relatively large size, we use Tensorflow and Blazeface because web browsers don't support a common native feature detector that performs well enough.

In addition, we minify and obfuscate our source code for commercial reasons. This adds a small penalty to the file size, but gzip largely negates that penalty.

It is worth noting that while the package size may be in excess of 5MB, not all assets are downloaded, and provided they are delivered with compression using the correct headers, we use as many techniques as we can to spare user bandwidth and keep things snappy, although we're always trying to improve that.

For further reading, see the more comprehensive Package Size article.

Can we disable the message "Press Esc to exit full screen"?

"Press ESC to exit fullscreen" is a browser functionality and it is there to prevent users from phishing attacks, hence it cannot be disabled.

Can I customise my webview app's userAgent?

Yes, as long as the user agent is well formed.

Not valid:

  • Web3/CryptoWallet (i5.g.6)

Valid:

  • Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
  • Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3 Web3/CryptoWallet (i5.g.6)
  • Web3/CryptoWallet (i5.g.6) Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3