Files
Samsara/docs/PLATFORMS.md
oceans2alaska 610a3bb447 Privacy hardening, remote-peer IP masking and review fixes
- Add privacy projection (core/privacy.py), private report storage, bounded
  process capture; omit identities, free text and unapproved paths
- Mask remote peer IPs: only loopback/host/wildcard stay numeric, others are
  reduced to remote_scope private/public (schema + scoring updated)
- Map ss TCP states to canonical names; ASCII-only numeric fields; fix
  "Microsoft Visual C++" product matching (Python and PowerShell)
- Merge 7fed3b9: -Diagnostic switch, serialization exit code 3, PS7 module
  path, UI error detail; keep hardened task/certificate collectors
- Add audit docs, privacy docs and regression tests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 18:50:24 -08:00

23 lines
3.3 KiB
Markdown

Privacy hardening changes current collector coverage and output requirements. Read [PRIVACY_HARDENING.md](PRIVACY_HARDENING.md) first: certificates, task action/trigger data, cron commands and SMB open-file queries are disabled by default; the Windows output root requires protected ACLs. Current Windows runtime validation remains pending. Historical platform notes below do not override these restrictions.
# Platform support
Samsara targets retirement assessment of Windows Server 2016/2019/2022/2025 and enterprise Linux. Collector availability and tested platform support are different claims.
| Capability | Implementation | Verification |
| --- | --- | --- |
| Local Windows Server inventory | Windows PowerShell 5.1 modules plus supervised Python controller | Python contracts/fixtures/UI pass; native runtime and real-host acceptance pending |
| Local Linux inventory | Existing read-only RPM/dpkg, service, scheduler, TCP and mount collection | Local Linux smoke and automated regression tests pass; full distribution matrix pending |
| Local OS selection | Auto-detect and explicit profiles | Linux and Windows routing/profile tests pass; Windows Server identity verified by CIM/build/product type in collector |
| Offline reporting | v1 JSON import, HTML/JSON export, Summary, tabs, session history | Automated tests pass |
| Remote Windows/Linux collection | Not implemented | Separate follow-up phase |
| Qt desktop | Existing Linux/Windows UI code | Offscreen Linux tests; native Windows desktop verification pending |
Windows Server builds: 14393=2016, 17763=2019, 20348=2022, 26100=2025. ProductType must be 2 (domain controller) or 3 (server). Workstations sharing a build number are rejected. Explicit selected profiles are checked against this verified identity. A failed critical OS identity check prevents acceptance of an assessment. Other sections may fail or be partial without losing successful observations.
Use headless collection for Server Core and Server 2016. A collector target is not necessarily a supported Qt desktop: current Qt 6.12 lists Windows 10 1809+ and Windows 11 in its desktop support matrix. The Python headless path needs only existing 64-bit Python 3.11+ and jsonschema; the PowerShell-only driver needs Windows PowerShell 5.1. See [Qt requirements](https://doc.qt.io/qt-6/windows.html) and README instructions. No runtime is automatically installed on an assessed host.
Windows checks require local CIM and inbox ServerManager, NetTCPIP, ScheduledTasks, Storage, SmbShare and certificate-provider access. Missing modules, denied scopes or policy restrictions are visible in check status. Least privilege is preferred; Domain Administrator is not a prerequisite. No elevation, remoting configuration or credential prompt is performed. Non-elevated sensitive sections are conservatively partial, and ACL filtering can remain invisible even when a query succeeds.
Run `tools/validate_windows_host.py` on an explicitly authorized supported host before closing the Windows collection milestone. Record actual version, check states, errors and row counts; synthetic fixtures or mock-provider tests cannot substitute for this. Every release still needs native validation. Windows packaging, signing, constrained-language environments and remote transports remain follow-up work.