Skip to Content
SDK IntegrationOverview

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

SDKLatest versionLanguagesPlatforms
iOS / macOSTrustPinKit 5.0.0Swift 6.1+iOS 13+, macOS 13+, watchOS 7+, tvOS 13+, visionOS 2+
Android / Kotlincloud.trustpin:kotlin-sdk 5.0.0Kotlin 2.3.0+Android API 25+, JVM 11+
Fluttertrustpin_sdk 5.0.0DartiOS 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

Android & JVM

Flutter (Cross-Platform)


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 / macOSTrustPinConfiguration.fromPlist() reads a bundled TrustPin-Info.plist
  • Android / KotlinTrustPinConfiguration.fromAssets(context) reads src/main/assets/trustpin.json
  • FlutterTrustPin.shared.setupWithNativeBundle() defers to each platform’s native config file (TrustPin-Info.plist on iOS/macOS, trustpin.json on 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: URLSession with TrustPin.makeURLSessionDelegate(), or system-wide via TrustPinURLProtocol
  • Android / JVM: OkHttp / Retrofit / Ktor with TrustPinSSLSocketFactory.create()
  • Flutter: Dio with TrustPinDioInterceptor, or package:http via TrustPinHttpClient.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:


Need Help?