oslog-logger-defaults — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited oslog-logger-defaults (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
os.Logger DefaultsLogger declaration..private vs .public how to pick".import os); do not pull in any third-party logging library.subsystem = bundle ID (e.g. com.example.myapp)category = module name (aligned with the SwiftPM target name).public must be marked explicitly.import os
extension Logger {
static let engine = Logger(subsystem: "com.example.myapp", category: "Engine")
}
Logger.engine.info("user \(userId, privacy: .public) loaded puzzle \(puzzleId)")
// ^^^^^^^ explicit public; puzzleId defaults to private.private content is automatically redacted in cross-device sysdiagnose.PrivacyInfo.xcprivacy, consistent with the "no third-party tracking" stance..private actually means (easily misunderstood).private content is redacted wherever no debugger is attached — this includes a TestFlight user viewing their own Console.app, not only "in someone else's sysdiagnose after release."OSLogStore for its own process and read .private entries without a debugger. An in-app log viewer can therefore bypass redaction entirely — never log raw PII even under .private.swift-log as a facade with OSLog as the Apple-side backend; the interface stays platform-neutral.telemetry-facade-pattern's fan-out sink rather than replacing OSLog directly.import Logging / import CocoaLumberjack / import Sentry or other third-party logging.Logger extension with a category aligned to the module name..public annotation can be explained as non-privacy-violating (e.g. non-PII, build hash)..private (or not logged at all).telemetry-facade-pattern: where OSLogSink sits within the facade.apple-three-piece-analytics: OSLog is an Apple-only path, in the same "no third-party" stance as ASC / MetricKit / GC.apple-public-repo-security: .private corresponds to sysdiagnose redaction, but is still visible under a debugger — the safety reasoning for the public repo relies on this semantics.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.