> ## Documentation Index
> Fetch the complete documentation index at: https://docs.grantiva.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Device attestation and intelligence for iOS developers

Grantiva verifies devices using Apple's App Attest API, issues JWT tokens with device intelligence, and provides risk scoring. No client-side API keys needed — your app is identified automatically by Bundle ID and Team ID.

## What you can do with Grantiva

<CardGroup cols={2}>
  <Card title="Device Attestation" icon="shield-check">
    Verify device integrity using Apple's App Attest. Block jailbroken, emulated, and tampered devices.
  </Card>

  <Card title="Risk Scoring" icon="gauge-high">
    Get a risk category for every device. All paid plans (Pro and above) include the full 0-100 numeric score.
  </Card>

  <Card title="Feature Flags" icon="flag">
    Remotely toggle features per environment. Boolean, string, number, and JSON flag types.
  </Card>

  <Card title="In-App Feedback" icon="message">
    Feature requests with voting, comments, and support tickets — all from inside your app.
  </Card>

  <Card title="Visual Regression Testing" icon="image">
    Catch UI regressions before they ship. Pixel and perceptual diffing with CI integration.
  </Card>

  <Card title="Custom JWT Claims" icon="key">
    Add static, conditional, or dynamic claims to attestation tokens. 1–20 per tenant, varies by plan.
  </Card>

  <Card title="Subscription Claims" icon="crown" href="/concepts/subscription-claims">
    Project Apple IAP and Stripe subscription state into attestation JWTs — family-shared, no API key.
  </Card>

  <Card title="Push Notifications" icon="bell" href="/push/overview">
    Channel-based APNs fan-out for alerts and Live Activities. Publish from your backend; Grantiva delivers.
  </Card>
</CardGroup>

## Get started

<Card title="Quick Start" icon="rocket" href="/quickstart" horizontal>
  Add Grantiva to your iOS app in under 5 minutes.
</Card>

## How it works

1. **Your app requests a challenge** from the Grantiva server
2. **App Attest creates an attestation** on the device using Apple's framework
3. **Grantiva validates the attestation** and scores the device
4. **A signed JWT token is returned** with device intelligence and custom claims
5. **Your backend verifies the token** to make trust decisions

No API keys are sent from the client. The server identifies your app by its Bundle ID and Team ID, which are sent automatically by the SDK.

## Pricing

|                        | Free      | Pro         | Business          | Enterprise      |
| ---------------------- | --------- | ----------- | ----------------- | --------------- |
| Monthly active devices | 1,000     | 25,000      | 250,000           | Unlimited       |
| Price                  | \$0       | \$29/mo     | \$149/mo          | \$899/mo        |
| Feature flags          | 10        | 50/app      | 200/app           | Unlimited       |
| Custom claims          | 1         | 5           | 10                | 20              |
| Webhooks               | —         | 3 endpoints | 10 (custom retry) | Unlimited (DLQ) |
| Support                | Community | Email       | Priority          | Dedicated       |

Flat monthly pricing. No per-attestation fees or overages.
