Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
## Installation

```sh
npm install @think-grid-labs/react-native-shield
npm install @thinkgrid/react-native-shield
# or
yarn add @think-grid-labs/react-native-shield
yarn add @thinkgrid/react-native-shield
# or
pnpm add @think-grid-labs/react-native-shield
pnpm add @thinkgrid/react-native-shield
```

### iOS Setup
Expand Down Expand Up @@ -68,7 +68,7 @@ import {
getAllSecureKeys,
clearAllSecureStorage,
requestIntegrityToken,
} from '@think-grid-labs/react-native-shield';
} from '@thinkgrid/react-native-shield';
```

---
Expand Down
2 changes: 1 addition & 1 deletion Shield.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Pod::Spec.new do |s|
s.authors = package["author"]

s.platforms = { :ios => min_ios_version_supported }
s.source = { :git => "https://github.com/ThinkGrid-Labs/react-native-shield.git", :tag => "#{s.version}" }
s.source = { :git => "https://github.com/thinkgrid-labs/react-native-shield.git", :tag => "#{s.version}" }

s.source_files = "ios/**/*.{h,m,mm,swift,cpp}"
s.private_header_files = "ios/**/*.h"
Expand Down
6 changes: 3 additions & 3 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Contributing

See [CONTRIBUTING.md](https://github.com/ThinkGrid-Labs/react-native-shield/blob/main/CONTRIBUTING.md) for the full development guide.
See [CONTRIBUTING.md](https://github.com/thinkgrid-labs/react-native-shield/blob/main/CONTRIBUTING.md) for the full development guide.

## Quick start

```sh
git clone https://github.com/ThinkGrid-Labs/react-native-shield
git clone https://github.com/thinkgrid-labs/react-native-shield
cd react-native-shield
pnpm install
```
Expand All @@ -30,6 +30,6 @@ pnpm lint

## Opening issues

Report bugs and request features at [github.com/ThinkGrid-Labs/react-native-shield/issues](https://github.com/ThinkGrid-Labs/react-native-shield/issues).
Report bugs and request features at [github.com/thinkgrid-labs/react-native-shield/issues](https://github.com/thinkgrid-labs/react-native-shield/issues).

Items on the [Roadmap](/roadmap) marked `[ ]` are open for contribution — open an issue first to discuss your approach before submitting a PR.
4 changes: 2 additions & 2 deletions docs/guide/app-environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## VPN detection

```typescript
import { isVPNDetected } from '@think-grid-labs/react-native-shield';
import { isVPNDetected } from '@thinkgrid/react-native-shield';

if (isVPNDetected()) {
// Traffic is routed through a VPN or proxy interface
Expand All @@ -19,7 +19,7 @@ if (isVPNDetected()) {
Auto-clear the clipboard whenever the app goes to the background:

```typescript
import { protectClipboard } from '@think-grid-labs/react-native-shield';
import { protectClipboard } from '@thinkgrid/react-native-shield';

// Enable at startup
protectClipboard(true);
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/attestation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Request a **cryptographically signed integrity token** from Google or Apple that
## Usage

```typescript
import { requestIntegrityToken } from '@think-grid-labs/react-native-shield';
import { requestIntegrityToken } from '@thinkgrid/react-native-shield';

const verifyDeviceWithServer = async () => {
try {
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/biometrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Native biometric prompt (Face ID / Touch ID / Android Biometrics) with strength-
## Authenticate the user

```typescript
import { authenticateWithBiometrics } from '@think-grid-labs/react-native-shield';
import { authenticateWithBiometrics } from '@thinkgrid/react-native-shield';

const loginWithBiometrics = async () => {
const success = await authenticateWithBiometrics('Authenticate to continue');
Expand All @@ -22,7 +22,7 @@ const loginWithBiometrics = async () => {
Different sensors have very different security properties. Face Unlock on Android is classified as "weak" (2D camera, spoofable with a photo). Face ID and fingerprint readers are "strong" (secure enclave, spoof-resistant hardware).

```typescript
import { getBiometricStrength } from '@think-grid-labs/react-native-shield';
import { getBiometricStrength } from '@thinkgrid/react-native-shield';

const enforceStrongBiometrics = async () => {
const strength = await getBiometricStrength();
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/device-integrity.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
isHooked,
verifySignature,
getRootReasons,
} from '@think-grid-labs/react-native-shield';
} from '@thinkgrid/react-native-shield';

const checkIntegrity = () => {
if (isRooted()) {
Expand Down
10 changes: 5 additions & 5 deletions docs/guide/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
## Installation

```sh
npm install @think-grid-labs/react-native-shield
npm install @thinkgrid/react-native-shield
# or
yarn add @think-grid-labs/react-native-shield
yarn add @thinkgrid/react-native-shield
# or
pnpm add @think-grid-labs/react-native-shield
pnpm add @thinkgrid/react-native-shield
```

### iOS Setup
Expand Down Expand Up @@ -54,15 +54,15 @@ import {
getAllSecureKeys,
clearAllSecureStorage,
requestIntegrityToken,
} from '@think-grid-labs/react-native-shield';
} from '@thinkgrid/react-native-shield';
```

## Recommended startup check

Run security checks early — before rendering any sensitive UI or making authenticated network requests:

```typescript
import { isRooted, isEmulator, isHooked, isDebuggerAttached } from '@think-grid-labs/react-native-shield';
import { isRooted, isEmulator, isHooked, isDebuggerAttached } from '@thinkgrid/react-native-shield';

const runSecurityGate = () => {
if (isRooted() || isEmulator() || isHooked() || isDebuggerAttached()) {
Expand Down
6 changes: 3 additions & 3 deletions docs/guide/secure-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
setSecureString,
getSecureString,
removeSecureString,
} from '@think-grid-labs/react-native-shield';
} from '@thinkgrid/react-native-shield';

// Store
await setSecureString('access_token', 'eyJhbGci...');
Expand All @@ -24,7 +24,7 @@ await removeSecureString('access_token');
## Enumerate keys

```typescript
import { getAllSecureKeys } from '@think-grid-labs/react-native-shield';
import { getAllSecureKeys } from '@thinkgrid/react-native-shield';

const keys = await getAllSecureKeys();
// ['access_token', 'refresh_token', 'user_id']
Expand All @@ -35,7 +35,7 @@ Useful for migration scripts, key rotation, or auditing storage state before a r
## Bulk wipe

```typescript
import { clearAllSecureStorage } from '@think-grid-labs/react-native-shield';
import { clearAllSecureStorage } from '@thinkgrid/react-native-shield';

const handleLogout = async () => {
await clearAllSecureStorage();
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/ssl-pinning.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Prevent Man-in-the-Middle (MitM) attacks by verifying your server's certificate
Call `addSSLPinning` **early in your app lifecycle** — before any network requests are made.

```typescript
import { addSSLPinning } from '@think-grid-labs/react-native-shield';
import { addSSLPinning } from '@thinkgrid/react-native-shield';

useEffect(() => {
const configurePinning = async () => {
Expand Down Expand Up @@ -39,7 +39,7 @@ openssl s_client -servername api.yourdomain.com -connect api.yourdomain.com:443
## Rotating pins

```typescript
import { updateSSLPins } from '@think-grid-labs/react-native-shield';
import { updateSSLPins } from '@thinkgrid/react-native-shield';

// Android: takes effect immediately at runtime
// iOS: throws SSL_PIN_UPDATE_UNSUPPORTED — new pins apply after next app launch
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/ui-privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Prevent sensitive UI from being captured in screenshots, screen recordings, or t
## Usage

```typescript
import { preventScreenshot } from '@think-grid-labs/react-native-shield';
import { preventScreenshot } from '@thinkgrid/react-native-shield';

// Enable — call when entering a sensitive screen
await preventScreenshot(true);
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ hero:
link: /api/device-integrity
- theme: alt
text: View on GitHub
link: https://github.com/ThinkGrid-Labs/react-native-shield
link: https://github.com/thinkgrid-labs/react-native-shield

features:
- title: Device Integrity & Anti-Tampering
Expand Down
2 changes: 1 addition & 1 deletion docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,4 @@ Lock the public API surface and introduce a configuration object.

---

Have a feature request or want to contribute? Open an issue at [github.com/ThinkGrid-Labs/react-native-shield](https://github.com/ThinkGrid-Labs/react-native-shield/issues).
Have a feature request or want to contribute? Open an issue at [github.com/thinkgrid-labs/react-native-shield](https://github.com/thinkgrid-labs/react-native-shield/issues).
2 changes: 1 addition & 1 deletion example/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import {
getAllSecureKeys,
clearAllSecureStorage,
requestIntegrityToken,
} from '@think-grid-labs/react-native-shield';
} from '@thinkgrid/react-native-shield';

type ResultMap = Record<string, string>;

Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@
],
"repository": {
"type": "git",
"url": "git+https://github.com/ThinkGrid-Labs/react-native-shield.git"
"url": "git+https://github.com/thinkgrid-labs/react-native-shield.git"
},
"author": "AkosiDencio <dennis@thinkgrid.dev>",
"license": "MIT",
"bugs": {
"url": "https://github.com/ThinkGrid-Labs/react-native-shield/issues"
"url": "https://github.com/thinkgrid-labs/react-native-shield/issues"
},
"homepage": "https://github.com/ThinkGrid-Labs/react-native-shield#readme",
"homepage": "https://github.com/thinkgrid-labs/react-native-shield#readme",
"publishConfig": {
"registry": "https://registry.npmjs.org/",
"access": "public"
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"rootDir": ".",
"paths": {
"react-native-shield": ["./src/index"],
"@think-grid-labs/react-native-shield": ["./src/index"]
"@thinkgrid/react-native-shield": ["./src/index"]
},
"allowUnreachableCode": false,
"allowUnusedLabels": false,
Expand Down
Loading