open-index/open-npm huggingface dataset:
npm package: @humansecurity/expo-mobile-sdk
Description: An Expo module to wrap human native SDK for Expo users.
Latest version: 1.0.12

# expo-mobile-sdk

A module implementing our native SDKs for the Expo framework.

# API documentation

The full Documentation and usage examples can be found at our [official site](https://docs.humansecurity.com/applications-and-accounts/docs/expo-integration).

# Installation in managed Expo projects -
From the terminal run:

```
npm install @humansecurity/expo-mobile-sdk
```
Then add the config plugin to your app.json (or app.config.js) so the Android dependency repository is automatically configured:

```
{
    "expo": {
        "plugins": [
            "@humansecurity/expo-mobile-sdk"
        ]
    }
}
```

**Note:**  
The config plugin is available starting from **version 1.0.8 and later**.  
If you are using an earlier version (**1.0.2–1.0.6**), **do not add** the plugin line — simply run:
```
npm install @humansecurity/expo-mobile-sdk
npx expo prebuild
```

Finally, run the prebuild command:
```
npx expo prebuild
```

### Usage example

```
import { HumanSecurity } from '@humansecurity/expo-mobile-sdk';

//Display the version text in a tag to confirm integration:
<ThemedText type="title">{HumanSecurity.sdkVersion()}</ThemedText> 

```

### The current API:

```
  sdkVersion(): string;
  startWithAppId(appId: string, policy?: HSPolicy): Promise<void>;
  startWithAppIds(appIds: string[], policy?: HSPolicy): Promise<void>;
  vid(appId: string): string | null;

  // BD functionality
  headersForURLRequest(appId?: string): Promise<{ [key: string]: string }>;
  handleResponse(response: string, code: number, url: string): Promise<HSBotDefenderChallengeResult>;
  canHandleResponse(response: string, code: number, url: string): boolean;
  challengeReferenceId(): string;
  setCustomParameters(parameters: { [key: string]: string }, appId?: string): void;

  // Adding AD functions
  setUserId(userId: string | null, appId?: string): void;
  registerOutgoingUrlRequest(url: string, appId?: string): void;
  setAdditionalData(parameters: { [key: string]: string }, appId?: string): void;

```

## Installation in bare React Native projects

For the react-native bare workflow projects see our [integration guide](https://docs.humansecurity.com/applications-and-accounts/docs/react-native-integration).

## ⚠️ Note for Custom / Bare Workflows

If your project does not use expo prebuild, you must manually add the repository entry to your android/build.gradle file.
Make sure this block appears in every section where you define repositories:
```
allprojects {
    repositories {
        // ... your existing repos
        maven { url 'https://jfrog.humansecurity.com/artifactory/human-android-sdk/' }
    }
}
```
The config plugin automatically adds this during expo prebuild,
but in custom workflows, it must be added manually to ensure proper Android dependency resolution.
npm package: @humansecurity/react-native-sdk
Description: A React Native wrapper for the Human Security SDK providing a React Native interface to enable seamless integration and access to bot defender and account defender features.
Latest version: 1.0.6

# @humansecurity/react-native-sdk

A React Native wrapper for the Human Security SDK providing a React Native interface to enable seamless integration and access to bot defender and account defender features.

## Installation

From your terminal, run:

```bash
npm install @humansecurity/react-native-sdk
```

For iOS, don’t forget to install pods:

```bash
cd ios && pod install && cd ..
```

## Usage Example

```js
import HumanSecurity from '@humansecurity/react-native-sdk';

//Display the version in a text to confirm integration:
<Text>HumanSecurity SDK Version: {HumanSecurity.sdkVersion()}</Text>;
```

## API Documentation

The full Documentation and usage examples can be found at our [official site](https://docs.humansecurity.com/applications-and-accounts/docs/react-native-integration-recommended).

### The current API:

```
  sdkVersion(): string;
  startWithAppId(appId: string, policy?: { [key: string]: string }): Promise<void>;
  startWithAppIds(appIds: string[], policy?: { [key: string]: string }): Promise<void>;
  vid(appId: string): string | null;

  // BD functionality
  headersForURLRequest(appId?: string): Promise<{ [key: string]: string }>;
  handleResponse(response: string): Promise<number>;
  canHandleResponse(response: string): boolean;
  challengeReferenceId(): string;
  setCustomParameters(parameters: { [key: string]: string }, appId?: string): Promise<void>;

  // Bot Defender Delegates Events
  onBotDefenderEvent: EventEmitter<BotDefenderEvent>;

  // Adding AD functions
  setUserId(userId: string | null, appId?: string): Promise<void>;
  registerOutgoingUrlRequest(url: string, appId?: string): Promise<void>;
  setAdditionalData(parameters: { [key: string]: string },appId?: string): Promise<void>;

```

Where `BotDefenderEvent` is defined as:

```ts
BotDefenderEvent {
  event:
    | 'botDefenderRequestBlocked'
    | 'botDefenderChallengeSolved'
    | 'botDefenderChallengeCancelled'
    | 'botDefenderChallengeRendered'
    | 'botDefenderChallengeRenderFailed'
    | 'botDefenderDidUpdateHeaders';
  appId: string;
  headers?: { [key: string]: string };
}
```

# Old Installation of bare React Native projects

For bare React Native workflow projects that require the SDK on both the native platforms and in JavaScript, please refer to our [documentation](https://docs.humansecurity.com/applications-and-accounts/docs/react-native-integration-legacy