Security & Data-Handling Posture
The same least-privilege, data-egress, and guardrail discipline I run for a major US bank — applied to a small business. Engineering posture, not legal advice.
Two surfaces, one standard. The audit agent measures where your team's hours go; the automations I then build act on your existing tools. Both follow the rules below.
1 · The audit agent — local-first by design
- It reads the work, not the content. App and window/tab names, durations, and file metadata (action, type, size bucket, location category) — enough to rank automatable workflows, nothing more.
- It never captures keystrokes, screenshots, clipboard, file or message content, passwords, secrets, tokens, full URLs (query strings), full file paths, or command-line arguments. Enforced in code — a value-level redactor strips a URL or path even if it appears inside a window title — not promised in prose.
- Everything stays on the device. The agent aggregates on-box into a single report; raw activity never leaves the machine. A one-flag metadata-only mode drops every title and keeps just categories, for teams who want the strictest posture.
- One gated way off the box. Sharing even the aggregate requires an explicit, human-approved step that is off by default. There is exactly one egress path, and it stays closed until you open it.
- People are pseudonymous. Identities appear only as salted, one-way IDs — never names.
- You stay in control. Opt-in with a visible manifest shown before anything installs, configurable retention, delete-on-request, and one-command uninstall.
2 · How it gets onto a machine
- Readable, not a black box. The agent is plain Python you (or your IT) can inspect before running — unsigned by design, no opaque binary.
- Per-engagement install codes. Installs are issued, not public; each device enrolls under a revocable code tied to your engagement.
- Checksum-verified download. The installer verifies a published SHA-256 before it executes anything.
- Consent at install. The full data manifest is shown and a human must approve before the background agent is set up.
3 · The automations I build — least privilege & human-gated
- Scoped credentials only. Each connected system uses a dedicated, minimum-permission credential — never a shared admin key. Secrets live in a secret manager, never in client-side code or a repository.
- No data egress. Automations run on your existing stack and don't export, copy, or train on your data.
- Human approval, until you trust it. Anything that sends, spends, posts, or touches a customer is queued for one-click human approval until you choose to enable that step. The system fails closed — when unsure, it escalates to a person rather than improvising.
- Compliance built in. Outbound messaging is checked per-message (CAN-SPAM, with CASL/GDPR consent flags by recipient jurisdiction) before anything is queued; nothing sends from your brand domain without proper authentication and warm-up.
- A kill switch. A global switch can disable all automation instantly.
4 · The build itself
- Fixed-scope, documented, and handed over. You own what I build — no lock-in to a platform you can't leave.
- Data sourcing is via official/licensed APIs only. No scraping, ever.