diff --git a/docs/mac/logging.md b/docs/mac/logging.md new file mode 100644 index 000000000..be48a36dc --- /dev/null +++ b/docs/mac/logging.md @@ -0,0 +1,31 @@ +# Logging private data on macOS + +Unified logging redacts most payloads unless a subsystem opts into `privacy -off`. Per Peter's write-up on macOS [logging privacy shenanigans](https://steipete.me/posts/2025/logging-privacy-shenanigans) (2025) this is controlled by a plist in `/Library/Preferences/Logging/Subsystems/` keyed by the subsystem name. Only new log entries pick up the flag, so enable it before reproducing an issue. + +## Enable for Clawdis (`com.steipete.clawdis`) +- Write the plist to a temp file first, then install it atomically as root: + +```bash +cat <<'EOF' >/tmp/com.steipete.clawdis.plist + + + + + DEFAULT-OPTIONS + + Enable-Private-Data + + + + +EOF +sudo install -m 644 -o root -g wheel /tmp/com.steipete.clawdis.plist /Library/Preferences/Logging/Subsystems/com.steipete.clawdis.plist +``` + +- No reboot is required; logd notices the file quickly, but only new log lines will include private payloads. +- View the richer output with the existing helper, e.g. `./scripts/clawlog.sh --category WebChat --last 5m`. + +## Disable after debugging +- Remove the override: `sudo rm /Library/Preferences/Logging/Subsystems/com.steipete.clawdis.plist`. +- Optionally run `sudo log config --reload` to force logd to drop the override immediately. +- Remember this surface can include phone numbers and message bodies; keep the plist in place only while you actively need the extra detail.