> For the complete documentation index, see [llms.txt](https://docs.1kosmos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.1kosmos.com/mobile-sdk/native.md).

# Native

### Overview

The goal of this document is to provide any developer (with Android or iOS experience) the knowledge and understanding required to integrate the BlockID Mobile SDK and access the core features provided.

### Get Started Immediately

Please request access to our SDK and demo applications by sending us an email at <developers@1kosmos.com>&#x20;

#### Introduction

The BlockID Mobile SDK is a dependency available for Android and iOS platforms. You can easily incorporate it into native Android applications using Gradle and into iOS applications using CocoaPods.

The table below provides an overview of the BlockID Mobile SDK's version and the prescribed dependency management tools for each platform, serving as the recommended means of integrating dependencies:

| Platform | Version | Dependency Management |
| -------- | ------- | --------------------- |
| Android  | 1.30.60 | Gradle                |
| iOS      | 1.30.60 | SPM                   |

### Features

The features and capabilities below are accessible to application developers through the BlockID Mobile SDK. Developers can set up an authentication method in the app, onboard users, and let users scan, enroll, and verify their identity and other documents.

### Authentication

Insufficient authentication controls allow an attacker to circumvent intended authentication mechanisms and gain illegitimate access to an application. The application developers must implement an authentication mechanism in the app. The BlockID Mobile SDK provides the authentication methods below, which application developers can implement in their apps very easily.

* PIN Authentication
* Biometrics Authentication
* LiveID Authentication - Identity verification for mobile app

**Note:** The application must register for the above authentication mechanisms (using Document Enrollment features) before using either of them.&#x20;

### User Onboarding

The BlockID Mobile SDK provides developers an option to add (link), remove (unlink), and authenticate user account(s).

### Document Scanning

The BlockID Mobile SDK gives developers a quick way to integrate a document scanning feature into their application. The BlockID Mobile SDK's document scanner supports the following documents:

* Driver's License
* Passport
* National ID

### Document Registration

The BlockID Mobile SDK provides developers an option to add, remove, and restore the document(s) to or from the BlockID platform. The following is a list of entities that can be added, removed, and restored to or from the BlockID platform using the document registration service:

* PIN
* LiveID
* Identity Documents
  * Driver's License
  * Passport
  * National ID
* Miscellaneous Documents

{% hint style="info" %}
LiveID registration is required to register identity documents.&#x20;
{% endhint %}

### Document Verification

BlockID Mobile SDK provides functionality to verify data the user presents through our partners. The BlockID Mobile SDK supports the following document verification services:

* Driver's License Verification
* Social Security Number (SSN) Verification
* Document Liveness Verification
* Face Liveness Verification
* Face Comparison

### Passkeys

BlockID SDK enables both Android and iOS applications to integrate passkey registration and authentication using the 1Kosmos platform. The account linking and JWT issuance functions are designed to work only for users who are already present in the 1Kosmos user management system. The SDK also supports standalone passkey registration and authentication for applications that are not connected to the 1Kosmos platform.

#### Security

SDKs are usually deployed horizontally across the application ecosystem, whereas apps are deployed vertically. This means that is a single SDK deployed across multiple apps could compromise the security of all apps associated with that particular SDK.

SDKs are usually deployed by 3rd parties, so if an app faces certain SDK security issues, it can be much harder to resolve and secure that issue because it is not entirely under the app owner's control.

Because the SDK Attack surface is wider than an app's, the BlockID SDK implements a locking mechanism to prevent unauthorized access. Below are additional points

* The BlockID Mobile SDK will always remain locked.
* To unlock the BlockID Mobile SDK, you must successfully log in/register using one of the Authentication modes.
* If the BlockID Mobile SDK is locked and someone tries to access the API, it will show the message “Unauthorized access”.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.1kosmos.com/mobile-sdk/native.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
