Metadata-Version: 2.5
Name: guardana-server
Version: 0.20.0
Summary: Guardana collector: minimal FastAPI server that ingests and lists findings.
Project-URL: Homepage, https://guardana.dev
Project-URL: Repository, https://github.com/guardana/guardana
Project-URL: Documentation, https://guardana.dev
Project-URL: Issues, https://github.com/guardana/guardana/issues
Project-URL: Changelog, https://github.com/guardana/guardana/blob/main/CHANGELOG.md
Author-email: Guardana contributors <maintainers@guardana.io>
Maintainer-email: Guardana contributors <maintainers@guardana.io>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai-security,llm,mlsecops,prompt-injection,security-scanner
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: fastapi>=0.115
Requires-Dist: psycopg[binary]>=3.2
Requires-Dist: pydantic>=2.7
Provides-Extra: serve
Requires-Dist: uvicorn>=0.23; extra == 'serve'
Description-Content-Type: text/markdown

# guardana-server

Guardana's optional collector — a minimal FastAPI service that ingests findings
from many agents and, optionally, serves a read-only monitoring dashboard.

Part of **[Guardana](https://github.com/guardana/guardana)** — security
verification for self-hosted and self-built AI (model files, live endpoints,
and agents) from one rule engine that runs on your laptop, in CI, and next to
a served model.

## Run it

```bash
pip install "guardana-server[serve]"      # `[serve]` adds the ASGI server

export GUARDANA_DATABASE_URL=postgresql://guardana:secret@db:5432/guardana
guardana-collector migrate                # never on start: see the docs for why
guardana-collector bootstrap --org acme --project web    # prints the key, once
guardana-collector serve                  # http://127.0.0.1:8000
```

`serve` binds loopback unless you pass `--host 0.0.0.0`. The ASGI server is an
extra rather than a dependency, so a deployment that already runs gunicorn or
hypercorn can point it at the app instead:
`gunicorn -k uvicorn.workers.UvicornWorker 'guardana.server:create_app()'`.

There is an official image too:
`docker run -p 8000:8000 -e GUARDANA_DATABASE_URL=… ghcr.io/guardana/guardana-collector:0.9`.

The dashboard is a single self-contained page (no build step, works offline)
showing severity, per-source/per-rule breakdowns, an activity-over-time trend,
the `unverified` counter, and a filterable recent-findings table. It is
**read-only and unauthenticated** — do not expose it to an untrusted network
(see [SECURITY.md](https://github.com/guardana/guardana/blob/main/SECURITY.md)).

- Main README & quickstart: https://github.com/guardana/guardana#readme
- Documentation: https://guardana.dev

Licensed under Apache-2.0.
