# Artifact and secret policy

The experiment should be reproducible from Git without placing household
credentials, spatial maps or device secrets into normal Git history.

## Sensitive by default

- Wi-Fi SSID and PSK;
- full K1 serial, BLE UUID, MAC/IP addresses and router client lists;
- provisioning payloads, tokens, nonces, certificates and session keys;
- PCAP/PCAPNG, Bluetooth logs and extracted flows;
- K1 logs, `project.json`, `.xbin`, LAS/point clouds and trajectories;
- camera frames, previews, panoramas and mapped interiors;
- command lines or shell history containing a credential.

Private Git is still durable replicated storage. Git LFS changes storage and
size behavior; it does not provide confidentiality.

## Commit to normal Git

- source, tests and lock-file;
- immutable reference documents and their hashes;
- schemas, runbooks, ADRs and redacted reports;
- synthetic or explicitly redacted fixtures;
- redacted manifests and SHA-256 inventories;
- commands needed to reproduce analysis from a locally supplied artifact.

## Keep outside normal Git

- `.venv`, local config and Keychain references;
- actual credentials;
- real captures and decoded output;
- complete K1 project copies;
- unredacted device and router metadata.

## Session integrity

Every real session should record:

- schema version and unique session ID;
- tool Git commit;
- UTC start/end and Mac monotonic start/end;
- masked device/host/network identities;
- physical state timeline;
- exact capture filter and interface;
- artifact path, size and SHA-256;
- redaction status and storage location classification;
- operator notes and final GO/PAUSE/BLOCKED decision.

Raw artifacts are never silently deleted by code. That does not imply infinite
retention: capacity, encryption, backup and deliberate deletion policy are an
operator decision outside the capture command.

## Future provisioning secret input

The Wi-Fi password must not be accepted as a normal CLI argument. A reviewed
provisioner should use a hidden prompt, stdin/file descriptor with strict
permissions, or macOS Keychain. Logs and manifests record only that a credential
was supplied, never its value or unredacted payload bytes.

