graph TB subgraph Host["Host Application Layer"] App["iOS/macOS App (SwiftUI)"]:::host end
subgraph Core["CrashKit Core"]
CrashHandler["Crash Handler"]:::core
Sanitizer["Sanitizer"]:::core
FileManager["File Manager"]:::core
end
subgraph Integration["Integration Layer"]
Crashlytic["Crashlytic (Shared)"]:::integration
Callbacks["Custom Callbacks"]:::integration
Network["Network Transport"]:::integration
end
subgraph External["External Services"]
Services["GA4/Telemetric"]:::external
end
%% Connections
App --> Crashlytic
Crashlytic --> CrashHandler
CrashHandler --> Sanitizer
Sanitizer --> FileManager
Crashlytic --> Callbacks
Callbacks --> Network
Network --> Services
%% Click Events
click CrashHandler "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/util/CrashHandler.swift"
click Sanitizer "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/util/Sanitizer.swift"
click FileManager "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/ext/FileManager+Ext.swift"
click Crashlytic "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/Crashlytic.swift"
click App "https://github.com/sentryco/crashkit/blob/main/ExampleDemo/ExampleDemo/ExampleDemo.swift"
%% Styles
classDef core fill:#a8d1f0,stroke:#2980b9,stroke-width:2px
classDef integration fill:#b8e994,stroke:#27ae60,stroke-width:2px
classDef external fill:#f8c291,stroke:#e67e22,stroke-width:2px
classDef host fill:#d1d8e0,stroke:#2c3e50,stroke-width:2px
%% Legend
subgraph Legend
L1["Core Components"]:::core
L2["Integration Points"]:::integration
L3["External Services"]:::external
L4["Host Application"]:::host
end