Engineering

Mobile identity verification with Persona's native SDK for Android and iOS

An optimized customer experience across your mobile applications

Engineering

Mobile identity verification with Persona's native SDK for Android and iOS

An optimized customer experience across your mobile applications

Table of contents

Share this post

Copied
⚡ Key takeaways

Imagine the perfect mobile app experience. Elegant scrolling. Beautiful, responsive buttons. Every frame is smooth and crisp. But when you’re ready to submit your government ID, you click next and get kicked to a website in the browser. To be honest, it was a bit jarring. Fortunately, it doesn't have to be this way.

In 2019 there were a reported 3.2 billion smartphone users across the world, with 3.8 billion predicted by 2021. Of those smartphone users, 90% of their time on mobile was spent in a native app experience. In other words, a lot. To help app developers and businesses unlock seamless identity verification experiences for this native world, we've released the Persona Mobile SDK for Android and iOS.

Persona’s Native SDK supports verifications and theming out-of-the-box, with more features on the way.

If you’re new to Persona or currently integrated, the Native SDKs have various advantages over using the website or an embedded WebView for your native app.

  • Leverage the phone’s native processing power to auto-capture government IDs and selfies to get higher quality pictures faster.
  • Persona’s theming capability makes it easy for your SDK to match your aesthetic. If you like how it looks out of the box, you’re done. If you want to spruce it up, that’s cool too.
  • Enjoy a smoother, faster experience overall with our native SDK; the experience will feel like it’s part of your own app. Because, well, it kind of is. 
  • Use the same templates you’ve configured for the web, on mobile. With no extra work, collect and verify the same information in the same way you know.

How Persona keeps private data safe on mobile

Persona keeps private data safe on mobile devices through a multilayered security approach and privacy by design. Our trusted identity infrastructure meets global compliance standards including CCPA, GDPR, SOC 2, FERPA, and HIPAA.

We keep data safe within our applications through secure development processes, continuous vulnerability scanning, AES-256 encryption, and regular third-party audits. And to ensure ongoing protection of private data, we take a privacy by design approach. In practice, this means we ensure all data transfer policies meet EU-U.S. and Swiss-U.S. privacy shield frameworks, and we continuously evaluate our data collection activities to ensure we collect only the minimum data required for accurate identity verification.

How Persona on mobile improves the user experience

Customer experience is a key component of effective identity verification. If potential customers find your ID verification processes cumbersome or complex, they may choose other providers rather than struggle to make the ID process work on their device.

Persona’s mobile SDK makes it easy to collect and verify customer information within your company’s existing mobile application. Not only does this empower your business to meet Know Your Customer (KYC) expectations, but it also makes it possible for users to submit identity documents, such as their driver’s licenses or passports, for review and receive the results in near real time.

The result is a win-win for companies and customers alike: increased verification speed with enhanced data security.

Integrate with just a few lines of code.

If you want to jump right into the documentation, please go right ahead. If you’re curious what this might look like in your app, look no further.

Android

// launch from your Activity
Inquiry.fromTemplate(TEMPLATE_ID)
  .environment(Environment.SANDBOX)
  .build()
  .start(this, VERIFY_REQUEST_CODE)

// overwriting the Activity#onActivityResult
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  super.onActivityResult(requestCode, resultCode, data)
  if (requestCode == VERIFY_REQUEST_CODE) {
    when(val result = Inquiry.onActivityResult(data)) {
      is Inquiry.Response.Success -> { }
      is Inquiry.Response.Failure -> { }
      is Inquiry.Response.Cancel -> { }
      is Inquiry.Response.Error -> { }
    }
  }
}

iOS

class ViewController: UIViewController, InquiryDelegate {
    @IBAction func buttonTapped(_ sender: UIButton) {
        let config = InquiryConfiguration(templateId: "TEMPLATE_ID")
        Inquiry(config: config, delegate: self).start(from: self)
    }
    
    // MARK: - Inquiry Delegate Methods
    func inquirySuccess(inquiryId: String, attributes: Attributes?) { }
    func inquiryCancelled() { }
    func inquiryFailed(inquiryId: String) { }
    func inquiryError(_ error: Error) { }
}

Here’s the technical documentation again to get started. Note: React Native will be added soon!

Don't have a mobile engineer? How about an engineering team? Don't worry, that's why we built the hosted flow. Contact us to learn more.

Frequently asked questions

What is mobile ID verification?

Mobile ID verification is the process of verifying a user’s identity via the mobile device of their choice. Persona’s mobile SDKs allow you to embed your verification flow into your mobile app, allowing individuals to securely get verified anytime, anywhere.

Is the ID verification process easier on mobile?

If you’re leveraging the right application, it can be. By making it possible for users to verify their ID using their personal device, you reduce the risk of complexity or confusion around submitting and verifying ID documents. Additionally, mobile devices often have better quality cameras, which can streamline the verification process and reduce the need for manual review.

Table of contents

Imagine the perfect mobile app experience. Elegant scrolling. Beautiful, responsive buttons. Every frame is smooth and crisp. But when you’re ready to submit your government ID, you click next and get kicked to a website in the browser. To be honest, it was a bit jarring. Fortunately, it doesn't have to be this way.

In 2019 there were a reported 3.2 billion smartphone users across the world, with 3.8 billion predicted by 2021. Of those smartphone users, 90% of their time on mobile was spent in a native app experience. In other words, a lot. To help app developers and businesses unlock seamless identity verification experiences for this native world, we've released the Persona Mobile SDK for Android and iOS.

Persona’s Native SDK supports verifications and theming out-of-the-box, with more features on the way.

If you’re new to Persona or currently integrated, the Native SDKs have various advantages over using the website or an embedded WebView for your native app.

  • Leverage the phone’s native processing power to auto-capture government IDs and selfies to get higher quality pictures faster.
  • Persona’s theming capability makes it easy for your SDK to match your aesthetic. If you like how it looks out of the box, you’re done. If you want to spruce it up, that’s cool too.
  • Enjoy a smoother, faster experience overall with our native SDK; the experience will feel like it’s part of your own app. Because, well, it kind of is. 
  • Use the same templates you’ve configured for the web, on mobile. With no extra work, collect and verify the same information in the same way you know.

How Persona keeps private data safe on mobile

Persona keeps private data safe on mobile devices through a multilayered security approach and privacy by design. Our trusted identity infrastructure meets global compliance standards including CCPA, GDPR, SOC 2, FERPA, and HIPAA.

We keep data safe within our applications through secure development processes, continuous vulnerability scanning, AES-256 encryption, and regular third-party audits. And to ensure ongoing protection of private data, we take a privacy by design approach. In practice, this means we ensure all data transfer policies meet EU-U.S. and Swiss-U.S. privacy shield frameworks, and we continuously evaluate our data collection activities to ensure we collect only the minimum data required for accurate identity verification.

How Persona on mobile improves the user experience

Customer experience is a key component of effective identity verification. If potential customers find your ID verification processes cumbersome or complex, they may choose other providers rather than struggle to make the ID process work on their device.

Persona’s mobile SDK makes it easy to collect and verify customer information within your company’s existing mobile application. Not only does this empower your business to meet Know Your Customer (KYC) expectations, but it also makes it possible for users to submit identity documents, such as their driver’s licenses or passports, for review and receive the results in near real time.

The result is a win-win for companies and customers alike: increased verification speed with enhanced data security.

Integrate with just a few lines of code.

If you want to jump right into the documentation, please go right ahead. If you’re curious what this might look like in your app, look no further.

Android

// launch from your Activity
Inquiry.fromTemplate(TEMPLATE_ID)
  .environment(Environment.SANDBOX)
  .build()
  .start(this, VERIFY_REQUEST_CODE)

// overwriting the Activity#onActivityResult
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  super.onActivityResult(requestCode, resultCode, data)
  if (requestCode == VERIFY_REQUEST_CODE) {
    when(val result = Inquiry.onActivityResult(data)) {
      is Inquiry.Response.Success -> { }
      is Inquiry.Response.Failure -> { }
      is Inquiry.Response.Cancel -> { }
      is Inquiry.Response.Error -> { }
    }
  }
}

iOS

class ViewController: UIViewController, InquiryDelegate {
    @IBAction func buttonTapped(_ sender: UIButton) {
        let config = InquiryConfiguration(templateId: "TEMPLATE_ID")
        Inquiry(config: config, delegate: self).start(from: self)
    }
    
    // MARK: - Inquiry Delegate Methods
    func inquirySuccess(inquiryId: String, attributes: Attributes?) { }
    func inquiryCancelled() { }
    func inquiryFailed(inquiryId: String) { }
    func inquiryError(_ error: Error) { }
}

Here’s the technical documentation again to get started. Note: React Native will be added soon!

Don't have a mobile engineer? How about an engineering team? Don't worry, that's why we built the hosted flow. Contact us to learn more.

Continue reading

Continue reading

Designing an app builder with server-driven UI
Engineering

Designing an app builder with server-driven UI

Making the Persona app more configurable wasn't enough — we had to design and construct an app builder.

My not-so-typical intern project at Persona
Engineering

My not-so-typical intern project at Persona

How my intern project became one of our customers' most effective means of deterring fraud.

Get (web)hooked on Persona!
Engineering

Get (web)hooked on Persona!

Don't call us; we'll call you: Webhooks let you subscribe to your customers’ actions as they proceed through the Persona inquiry flow

Ready to get started?

Get in touch or start exploring Persona today.