Metadata-Version: 2.5
Name: netconsent-audit
Version: 0.5.1
Summary: Consent-gated defensive network audits and privacy-preserving desktop workflow recording.
Author: NetConsent Audit Contributors
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# netconsent-audit

`netconsent-audit` is a consent-gated defensive-security toolkit for documenting wireless-network survey results, summarizing **metadata** from approved capture exports, and recording privacy-preserving desktop workflow steps.

It does not bypass Wi-Fi security, collect passwords, retain request/payload bodies, credentials, cookies, message content, or act as a keylogger.

## Install

```bash
pip install netconsent-audit
```

## Record an authorized wireless survey

Create `survey.json` from information you collected on a network you own or are explicitly authorized to assess:

```json
[
  {"ssid": "Office-Guest", "bssid": "AA:BB:CC:DD:EE:FF", "security": "WPA2"},
  {"ssid": "Lab-IoT", "bssid": "11:22:33:44:55:66", "security": "OPEN"}
]
```

```bash
netconsent survey survey.json --authorized --scope "ACME Lab wireless assessment"
```

The output labels entries as `protected`, `open`, or `unknown` based only on the declared `security` value.

## Redacted traffic metadata

Use a pre-exported JSON-lines file with only `timestamp`, `src`, `dst`, `protocol`, and optional `bytes`. The command reports counts and byte totals only:

```bash
netconsent traffic-metadata approved-export.jsonl --authorized --scope "ACME Lab capture review"
```

## Defensive checks from approved inventory exports

Supply a JSON list of approved asset records with `host`, `services`, and optional `tls_days_remaining`. This identifies exposed administrative services and certificates close to expiry without scanning, exploiting, or authenticating to a target.

```bash
netconsent exposure-report approved-assets.json --authorized --scope "ACME Lab quarterly review"
```

## Privacy-preserving desktop workflow recorder

Record a complete action sequence: live mouse moves, clicks, scrolls, waits, named non-text keys/shortcuts, and explicitly supplied text steps. `safe_text_step()` evaluates deliberately supplied text in memory and blocks/redacts likely credentials, cards, SSNs, email addresses, phone numbers, and token-like values before a workflow is saved or replayed. It deliberately does not install a global keystroke listener or capture clipboard content.

```python
from netconsent_audit.workflow import WorkflowRecorder

recorder = WorkflowRecorder("Invoice entry workflow")
recorder.start_mouse_recording()  # move, click, and scroll normally
# When finished:
recorder.stop_mouse_recording()
recorder.key("ctrl", "a").key("tab")  # optional approved shortcut actions
recorder.safe_text_step("April status update", label="Report title")
workflows = []
recorder.save_to(workflows)  # your reusable list of named workflows
from netconsent_audit.workflow import replay
print(replay(workflows[0]))                 # review mode; no desktop actions
replay(workflows[0], enabled=True)          # runs the saved safe actions
```

## Authorization

Use only with written permission and a defined scope. The `--authorized` and `--scope` requirements deliberately make each operation an explicit acknowledgment; they do not validate legal authority.

