Packages

OTP-native conversational and operational runtime for Elixir agents.

Current section

Files

Jump to
spectre SECURITY.md
Raw

SECURITY.md

# Security Policy
Spectre is a runtime boundary, not an authorization system. Applications must
still authenticate users, authorize business operations, protect credentials,
and validate data inside their action and provider adapters.
## Supported versions
Security fixes are released for the latest supported `0.x` minor version.
Users should upgrade to the newest patch before reporting a problem already
addressed in the changelog.
## Reporting a vulnerability
Please report vulnerabilities privately through GitHub Security Advisories for
`elchemista/spectre`. Include:
- the affected Spectre version and Elixir/OTP versions;
- a minimal reproduction;
- the expected and observed security boundary;
- whether untrusted input, a model/provider reply, or persisted state is
required to trigger it;
- any known mitigation.
Do not include real prompts, user conversations, credentials, or production
state in a report.
## Boundary model
Spectre enforces deterministic lifecycle and policy transitions, isolates
provider callbacks, validates persisted state, and keeps side-effect execution
explicit. It does not claim that an LLM is immune to prompt injection. Dynamic
content is marked as data at the prompt-plan boundary, but downstream model
behavior remains probabilistic.
See [Architecture](docs/ARCHITECTURE.md), [Provider Resilience](docs/PROVIDERS.md),
and [Production Operations](docs/PRODUCTION.md) for the complete trust model.