Inspect is a TLS certificate inspector for iPhone, iPad, and macOS.
It supports:
- manual inspection of a host or HTTPS URL
- passive live monitoring through the packet tunnel flow
- Safari extensions on iOS and macOS for inspecting the current page
- a macOS share extension that hands shared pages into the app
- Inspect a host name or HTTPS URL directly in the app.
- Open Inspect Certificate from Safari on iPhone, iPad, and macOS.
- Open certificate detail directly from Safari extension handoff.
- Capture the presented trust chain from a live TLS handshake.
- Decode X.509 fields including SANs, EKUs, key usage, AIA, SKI/AKI, policies, fingerprints, and public key details.
- Surface security findings for trust failures, hostname mismatch, expired certificates, weak crypto, suspicious CA usage, and common interception products.
- Export DER certificates from the chain.
Apps/iOS/: iOS app shell and iOS settingsApps/macOS/: macOS app shell and macOS settingsExtensions/Action/: iOS action/share extensionExtensions/ActionShared/: shared action-extension supportExtensions/SafariWeb/: Safari web extension for iOS and macOSExtensions/MacShare/: macOS share extensionExtensions/PacketTunnel/: iOS/macOS packet tunnel wrapper and Rust bridgePackages/InspectCore/: shared Swift models, features, UI, logging, and testsRust/tunnel-core/: Rust forwarding core
Requirements:
- Xcode 16 or newer
- iOS 18 SDK
- XcodeGen
xcbeautify
Generate the project:
just generateOpen it:
open Inspect.xcodeprojDetailed development notes live in DEVELOPMENT.md.
Useful commands:
just generate
just test-ios-sim
just run-mac
just rust test
just testflight-dry-runInspect is licensed under GPLv3. See LICENSE.