← Back to guides

React Native

React Native session → check with the AbuseGraph SDK — fail-open, same API as iOS and Android.

Install the React Native SDK

npm install @palisade/sdk-react-native

Prefer a backend proxy for sk_ keys. Fail-open on network errors — never block signup on us.

Keys

bash

ABUSEGRAPH_SECRET_KEY=sk_test_…
ABUSEGRAPH_SITE=yourdomain.com

Prefer a backend proxy for secret keys. Never embed sk_live_… in a shipped app binary.

Usage

typescript

import {
  createAbuseGraphRNClient,
  rnDeviceCollect,
} from "@palisade/sdk-react-native";

const client = createAbuseGraphRNClient({
  apiKey: process.env.ABUSEGRAPH_SECRET_KEY!, // sk_test_…
  site: "yourdomain.com",
});

const result = await client.sessionThenCheck({
  email,
  event: "signup",
  device: rnDeviceCollect({ fingerprint: visitorId }),
});

if (!result.ok && result.failOpen) {
  // allow
} else if (result.ok && result.verdict === "block") {
  // reject
}

Package

Monorepo: packages/sdk-react-native@palisade/mobile-client. Native attestation: use iOS / Android when you need App Attest or Play Integrity.