# Installing the SDK

The Oraculi SDK is a Java native application that can be embedded into any mobile development framework that can instantiate Java within a mobile app. For the purpose of this documentation, it would be assumed to be a React Native application.&#x20;

{% hint style="warning" %}
Note

The Java SDK is available on GitHub on a private repo. To get access, please contact [api@lendsqr.com](mailto:api@lendsqr.com). The installation instructions are on the repo README.&#x20;
{% endhint %}

### Android Permissions

The SDK requires the READ\_SMS and RECEIVE\_SMS permissions which must be explicitly defined within your application Android Manifest.&#x20;

These two permissions are classified as dangerous permissions by Google and as such, beyond just declaring them in your application, there are certain guidelines for getting them approved by Google.&#x20;

### Definitions&#x20;

It’s important to understand the taxonomy of the Oraculi SDK.&#x20;

### Entities&#x20;

When the Oraculi SDK collects data from an Android phone, it creates unique identifiers for the user and the phone. However, because the developer has been required to provide an identifier for the user upon the instantiation of the SDK, it would allow the identification of such users irrespective of the different devices they may use.&#x20;

However, at the root of the entity identity are the unique identifiers (UUID) for that mobile device and the session that created the data.&#x20;

### Institutions&#x20;

Institutions define the companies, banks, or other unique stakeholders that have sent SMS or other information to an entity (or a user).&#x20;

### Transactions&#x20;

Transactions are the records of the activity of a user or an entity with an institution. It could be an SMS alert representing a financial transaction or a balance alert from a telco. For both a bank institution, a credit/debit statement is a measure of funds moving in and out of an account.&#x20;
