Add AI-detection trust badges to your iOS or Android app in hours. Native components, on-device caching, and viewport-aware scoring — the full Verigin standard, designed for mobile.
A raw HTTP endpoint works fine for servers. But mobile apps have unique constraints: network variability, scroll-triggered rendering, tight memory budgets, and readers who expect native UI. The Verigin Mobile SDK handles all of that — so you drop in trust badges without rebuilding your feed.
Built specifically for the constraints and expectations of native mobile development.
Drop-in SwiftUI View and Jetpack Compose component. Matches Verigin's visual standard without any custom drawing code on your end.
Content is scored only when it enters the visible viewport — not pre-loaded on feed init. Saves bandwidth, battery, and API quota.
Content is identified by a hash of its URL or text fingerprint. The same article read 1,000 times costs one API call, not 1,000. Never burns your MAU quota on repeated views.
When cryptographic provenance is present, shows readers exactly who created the content and what edits it went through — the signal that can't be faked.
Have a hybrid app or embed web content? The SDK bridges scoring results into your web views with a single line, so your web and native content share the same trust signal.
A few lines of code. Everything else is handled.
// 1. Import the SDK import VeriginSDK // 2. Configure once at app launch @main struct MyApp: App { init() { Verigin.configure(siteKey: "YOUR_SITE_KEY") } } // 3. Add the badge to any view VeriginBadge(contentURL: article.imageURL) .frame(maxWidth: .infinity) // That's it. Scoring, caching, and display are automatic.
// 1. Import the SDK import VeriginSDK // 2. Configure at app launch func application(_ application: UIApplication, didFinishLaunchingWithOptions options: ...) { Verigin.configure(siteKey: "YOUR_SITE_KEY") return true } // 3. Add badge to any UIViewController let badge = VeriginBadgeView() badge.score(url: article.imageURL) contentView.addSubview(badge)
// 1. Add to build.gradle dependencies { implementation("com.verigin:sdk-android:1.0.0") } // 2. Configure at app start class MyApp : Application() { override fun onCreate() { super.onCreate() Verigin.configure(this, siteKey = "YOUR_SITE_KEY") } } // 3. Use the Compose component VeriginBadge(contentUrl = article.imageUrl)
<!-- Drop into any XML layout --> <com.verigin.sdk.VeriginBadgeView android:id="@+id/veriginBadge" android:layout_width="wrap_content" android:layout_height="wrap_content" app:contentUrl="@{article.imageUrl}" app:autoScore="true" /> <!-- Viewport detection handles scoring automatically -->
Both use the same underlying Verigin engine. The SDK adds the mobile-specific layer on top.
| Capability | Raw API | Mobile SDK |
|---|---|---|
| AI detection + C2PA scoring | ✓ | ✓ |
| Native badge UI component | — | ✓ SwiftUI + Compose |
| Viewport-triggered scoring | — | ✓ Automatic |
| On-device content deduplication | — | ✓ URL + text hash |
| WKWebView / WebView bridge | — | ✓ One line |
| Pricing model | Per-request | MAU-based — predictable |
A flat MAU-based fee means you can build features freely without watching a per-request meter.
MAU = Monthly Active Users who view at least one piece of Verigin-scored content. Inactive users don't count toward your tier.
Start with the free Developer tier. Full SDK. No credit card. Ship when you're ready.