Pamiya is designed to dispatch actions to machines and networks that may hold sensitive data or credentials. Security reports must not be filed as public issues when exploitation details could put users at risk.
Until a dedicated security mailbox is published, organization maintainers should use GitHub's private vulnerability reporting feature for this repository. Do not include production secrets, personal data, or a working exploit against systems you do not own.
A useful report includes:
- affected component and version or commit;
- threat preconditions and trust boundary crossed;
- reproducible steps using synthetic data;
- expected and actual behavior;
- impact on confidentiality, integrity, availability, tenant isolation, or effect safety;
- suggested mitigation, when known.
Before the first stable release, only the latest commit on main is supported. Once releases begin, this document will define supported branches and remediation targets.
Changes must preserve these invariants:
- A Runner may reject a cloud command under local policy.
- A capability token is scoped to one tenant, Runner, Attempt, capability, action digest, and expiration.
- An approval cannot authorize a materially different action digest.
- A lost acknowledgement cannot cause an irreversible action to be blindly retried.
- Secrets remain in their declared trust boundary and are never placed in logs or model context by default.
- Tenant identifiers are enforced in application authorization and PostgreSQL RLS.
- Untrusted content cannot grant capabilities or modify policy.
See docs/09-security-and-trust.md, docs/07-effect-safety.md, and docs/15-testing-and-verification.md.