SECURITY.md
Rama dev · réplica de lectura del repositorio original.
# Security Policy
Flow-Like is a visual workflow automation platform built in Rust. Security is a core design principle — from the sandboxed WASM execution engine to the capability-based permission system.
For a comprehensive overview of the security architecture, see the [Security documentation](https://docs.flow-like.com/reference/security/).
## Supported Versions
Flow-Like is currently in early access. Security patches are applied to the latest release on the `dev` branch.
| Version | Supported |
| ------- | ------------------ |
| Latest | :white_check_mark: |
| Older | :x: |
We recommend always running the latest version. There is no backporting of security fixes to older releases at this time.
## Reporting a Vulnerability
**Do not open a public GitHub issue for security vulnerabilities.**
Please report vulnerabilities privately to [security@great-co.de](mailto:security@great-co.de).
### What to include
- A description of the vulnerability and its potential impact
- Steps to reproduce or a proof-of-concept
- The affected component (e.g. WASM sandbox, API auth, executor, storage)
- Your suggested severity (Critical / High / Medium / Low)
### What to expect
- **Acknowledgment** within 48 hours
- **Initial assessment** within 5 business days
- **Regular updates** until the issue is resolved
- Credit in the release notes (unless you prefer anonymity)
We follow coordinated disclosure — we ask that you give us reasonable time to address the issue before any public disclosure.
## Security Architecture
Flow-Like employs multiple layers of defense:
### WASM Sandboxing
All third-party code runs inside isolated [Wasmtime](https://wasmtime.dev/) sandboxes with:
- **Memory isolation** — each node has its own memory space, separate from the host
- **CPU time limits** — fuel-based metering terminates runaway loops
- **No filesystem access** by default — WASI is disabled unless explicitly enabled
- **No network access** by default — HTTP/WebSocket calls require declared permissions
- **Capability-based permissions** — nodes declare what they need; the runtime enforces it
### Authentication & Authorization
- **OIDC/OAuth2** for user authentication (delegated to external identity providers)
- **API keys** and **Personal Access Tokens (PATs)** for programmatic access
- **ES256 JWTs** for inter-service communication (executor ↔ API)
- **Role-based access control (RBAC)** with 25+ granular permissions
### Data Protection
- **TLS everywhere** — all HTTP traffic uses rustls (no OpenSSL dependency)
- **Local-first** — data stays on your hardware by default
- **Scoped storage** — nodes can only access their own storage directories
- **No telemetry** without explicit opt-in
### Supply Chain
- Rust dependencies are audited via `cargo-audit`
- Container images are minimal and pinnable
- Third-party license inventory is maintained in [`thirdparty/`](./thirdparty/)
## Scope
The following are in scope for security reports:
- WASM sandbox escapes or privilege escalation
- Authentication or authorization bypasses
- Injection vulnerabilities (SQL, command, path traversal)
- Sensitive data exposure (credentials, tokens, PII)
- Denial-of-service vulnerabilities in the executor or API
- Supply chain issues in dependencies
The following are out of scope:
- Vulnerabilities in third-party WASM nodes (report to the node author)
- Social engineering attacks
- Physical access attacks
- Issues in deprecated or unsupported versions
## Security-Related Configuration
When self-hosting Flow-Like, review these hardening guides:
- [Kubernetes Security Notes](https://docs.flow-like.com/self-hosting/kubernetes/security/)
- [WASM Sandboxing & Permissions](https://docs.flow-like.com/dev/wasm-nodes/sandboxing/)
## Contact
- Security reports: [security@great-co.de](mailto:security@great-co.de)
- General support: [https://flow-like.com](https://flow-like.com)