SDK Overview
TrustPin provides native SDKs for all major mobile and desktop platforms, enabling you to implement OWASP-compliant certificate pinning with minimal integration effort.
Available SDKs
| SDK | Latest version | Languages | Platforms |
|---|---|---|---|
| iOS / macOS | TrustPinKit 5.0.0 | Swift 6.1+ | iOS 13+, macOS 13+, watchOS 7+, tvOS 13+, visionOS 2+ |
| Android / Kotlin | cloud.trustpin:kotlin-sdk 5.0.0 | Kotlin 2.3.0+ | Android API 25+, JVM 11+ |
| Flutter | trustpin_sdk 5.0.0 | Dart | iOS 13+, Android API 25+, macOS 13+ |
The Flutter package bundles the native SDKs (TrustPinKit 5.0.0 on iOS/macOS, cloud.trustpin:kotlin-sdk 5.0.0 on Android), so a single flutter pub get brings everything in.
iOS, macOS, watchOS, tvOS & visionOS
- Language: Swift
- Package Manager: Swift Package Manager, CocoaPods
- View iOS / macOS SDK Documentation
Android & JVM
- Language: Kotlin
- Package Manager: Maven Central
- View Android / Kotlin SDK Documentation
Flutter (Cross-Platform)
- Language: Dart
- Package Manager: pub.dev
- View Flutter SDK Documentation
Quick Integration
All TrustPin SDKs follow a consistent 3-step integration pattern:
1. Install the SDK
Add TrustPin to your project using your platform’s package manager:
- iOS/macOS: Swift Package Manager or CocoaPods
- Android: Gradle with Maven Central
- Flutter: pub.dev package
2. Initialize TrustPin
Build a TrustPinConfiguration and pass it to setup() during app initialization. Each SDK can either load the configuration from a bundled file or accept it inline:
- iOS / macOS —
TrustPinConfiguration.fromPlist()reads a bundledTrustPin-Info.plist - Android / Kotlin —
TrustPinConfiguration.fromAssets(context)readssrc/main/assets/trustpin.json - Flutter —
TrustPin.shared.setupWithNativeBundle()defers to each platform’s native config file (TrustPin-Info.pliston iOS/macOS,trustpin.jsonon Android), so credentials never enter the Dart isolate
All three forms accept the same fields: organizationId / OrganizationId, projectId / ProjectId, publicKey / PublicKey, optional mode, and optional configurationURL.
3. Configure HTTP Client
Integrate TrustPin with your HTTP client:
- iOS / macOS:
URLSessionwithTrustPin.makeURLSessionDelegate(), or system-wide viaTrustPinURLProtocol - Android / JVM: OkHttp / Retrofit / Ktor with
TrustPinSSLSocketFactory.create() - Flutter: Dio with
TrustPinDioInterceptor, orpackage:httpviaTrustPinHttpClient.create()
Key Features
All SDKs provide:
- ✅ OWASP-Compliant Pinning - Implements OWASP Mobile Security Testing Guide recommendations
- ✅ Zero-Downtime Updates - Update certificates remotely without app releases
- ✅ Automatic Validation - Certificate pinning happens automatically on all HTTPS requests
- ✅ Intelligent Caching - 10-minute configuration cache with automatic refresh
- ✅ Strict & Permissive Modes - Control pinning behavior for production vs development
- ✅ Comprehensive Error Handling - Detailed error codes for debugging
Platform-Specific Documentation
Choose your platform to view detailed integration guides, API references, and examples:
- iOS/Swift SDK - Native Swift implementation for Apple platforms
- Android/Kotlin SDK - Kotlin SDK for Android and JVM
- Flutter/Dart SDK - Cross-platform Dart package
Need Help?
- 📧 Email: support@trustpin.cloud
- 📚 Documentation: docs.trustpin.cloud
- 🎯 Dashboard: app.trustpin.cloud