Metadata-Version: 2.4
Name: securitytide-cli
Version: 0.1.0
Summary: Local security-posture monitor for one Linux host — see your CVEs, exposed ports, and failed logins in one command.
Author: Chiderah
License: Apache-2.0
Project-URL: Homepage, https://github.com/BBDerah/securitytide-cli
Project-URL: Source, https://github.com/BBDerah/securitytide-cli
Project-URL: Issues, https://github.com/BBDerah/securitytide-cli/issues
Keywords: security,monitoring,linux,sysadmin,cve,posture,hardening,homelab
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Security
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi<1.0,>=0.110
Requires-Dist: uvicorn<1.0,>=0.27
Requires-Dist: psutil<6.0,>=5.9
Dynamic: license-file

# securitytide

**See your Linux host's security posture in one command.**

Not another CPU-and-memory dashboard. `securitytide` shows you the things that
actually get a box owned: what's exposed to the network, who's failing to log in,
whether your firewall is even on, and how far behind you are on security patches —
scored, graded, and explained.

```bash
pip install securitytide-cli
securitytide
```

That's it. The dashboard opens at `http://localhost:8787`. No config, no agent to
register, no account.

---

## What you get

A single **posture score (0–100)** with a letter grade, and — crucially — every
point deduction is shown. Nothing is a black box. You see exactly *why* your box
scored what it did and what to fix first.

- **Exposed surface** — every listening port, with the ones reachable beyond
  localhost flagged, and known-risky services (Redis, RDP, SMB, unauth Mongo…)
  called out.
- **Failed logins** — brute-force attempts in the last 24h, aggregated by source IP.
- **Security services** — is your firewall active? fail2ban? auditd? AppArmor?
- **Pending patches** — how many security updates you're behind (apt & dnf).

## Prefer the terminal?

```bash
securitytide --once        # one-shot posture report, no server
securitytide --once --json # machine-readable, pipe it anywhere
```

Drop `securitytide --once` in a cron job or a login MOTD and get your posture
every morning.

---

## Safe by default

This tool maps your host's weak points, so it's built to keep that map to
yourself:

- **Localhost only.** Binds to `127.0.0.1`. It will not put itself on the network
  unless you pass an explicit flag *and* confirm at a prompt.
- **No shell.** There is no terminal, no command execution, no write operations of
  any kind. It observes and reports — that's all.
- **Read-only.** Every system query is a fixed, read-only command. Nothing you send
  the API can make it run anything.

Need to view it from another machine? Tunnel over SSH — don't expose the port:

```bash
ssh -L 8787:127.0.0.1:8787 you@yourhost
# then open http://localhost:8787 on your laptop
```

---

## Requirements

- Linux (uses `systemctl`, `journalctl`, and your package manager where present)
- Python 3.9+

Everything degrades gracefully — if a data source isn't available, that panel just
shows less, it doesn't crash.

---

## From one host to many

`securitytide` is deliberately scoped to **one machine** — yours. When you're
responsible for a *fleet*, the same posture view across every host, with AI-assisted
triage, alerting to Slack/email/PagerDuty, and CIS/NIST compliance reporting, is
**Securitytide** — the hosted upgrade. Same DNA, built for teams.

The free tool is complete on its own. You only need the cloud version when one host
becomes a problem worth paying to solve.

---

## License

Apache 2.0. Contributions welcome — issues and PRs especially around new posture
checks and package-manager support.
