What problem does it solve? Kotlin Multiplatform projects need consistent, safe logging across Android, iOS, and Desktop without coupling Domain, Application, or Presentation layers to a specific logging library, and without leaking sensitive data like tokens or medical data into logs. ## Core Features & Use Cases - Abstracted Logger Interface: Defines a Logger interface in core/logging with a single NapierLogger implementation, so no layer imports Napier directly and the library can be swapped later. - Debug/Release Antilog Selection: Uses an expect/actual isDebugBuild flag per platform to choose DebugAntilog in debug and a silent or observability-backed Antilog in release. - Log Level and Sensitive Data Rules: Provides decision rules for choosing v/d/i/w/e levels and forbids logging tokens, passwords, or personal/medical data in any build. - Use Case: When catching an exception in a Repository, log it with logger.e(tag, message, throwable) before wrapping it in Result.Failure(DomainError), keeping full diagnostic context without exposing sensitive data. ## Quick Start Set up Napier logging in my Kotlin Multiplatform project with an abstracted Logger interface injected via Koin and initialized once alongside initKoin.