axonflow-sdk-rust 0.1.0

Rust SDK for the AxonFlow AI governance platform
Documentation
# Security Policy

## Supported Versions

The Rust SDK has not been released yet — see [README.md](./README.md). Once a v0.1.0 is published, the most recent minor version will be the security-supported line. This file will be updated to track the supported range at that point.

## Reporting a Vulnerability

We take security seriously at AxonFlow. If you discover a vulnerability — in this SDK, in another AxonFlow SDK, or in the AxonFlow control plane — please follow responsible disclosure:

### Do NOT
- Open a public GitHub issue
- Discuss the vulnerability publicly
- Exploit the vulnerability

### DO
1. Email: **security@getaxonflow.com**
2. Include:
   - Description of the vulnerability
   - Steps to reproduce
   - Potential impact
   - Suggested fix (if any)

### What to expect
- **24 hours**: Initial response acknowledging receipt
- **72 hours**: Assessment and severity classification
- **7 days**: Fix timeline and coordinated disclosure plan
- **30 days**: Public disclosure after fix is released

### Severity levels
- **Critical**: Remote code execution, authentication bypass
- **High**: Data leakage, privilege escalation
- **Medium**: Denial of service, information disclosure
- **Low**: Minor issues with limited impact

## Security Best Practices for SDK Users

When the SDK lands, expect the same patterns as the [TypeScript](https://github.com/getaxonflow/axonflow-sdk-typescript), [Python](https://github.com/getaxonflow/axonflow-sdk-python), [Go](https://github.com/getaxonflow/axonflow-sdk-go), and [Java](https://github.com/getaxonflow/axonflow-sdk-java) SDKs:

1. **Never hardcode API keys** — read from environment variables (`AXONFLOW_API_KEY`).
2. **Rotate API keys** quarterly.
3. **Monitor audit logs** for unusual activity.
4. **Keep the SDK updated** to the latest minor version.

### Example secure usage (illustrative; SDK not yet implemented)

```rust
// Read from environment, do not commit secrets
let api_key = std::env::var("AXONFLOW_API_KEY")
    .expect("AXONFLOW_API_KEY must be set");

let client = axonflow::Client::new(&api_key);
```

## Supply Chain

Once published to crates.io, expect:

- Releases will be cargo-published from a tagged commit only (no manual `cargo publish` from a developer machine)
- All commits on the release tag signed
- Branch protection on `main` requires green CI before merge
- Dependabot enabled for transitive crates

## Vulnerability Disclosure Timeline

We follow a 90-day disclosure timeline:

1. **Day 0**: Vulnerability reported
2. **Day 7**: Fix developed and tested
3. **Day 14**: Fix released in patch version
4. **Day 30**: Public disclosure (if fix is deployed)
5. **Day 90**: Full technical details published (if not disclosed earlier)

## Hall of Fame

We recognize security researchers who responsibly disclose vulnerabilities.

(No vulnerabilities reported yet — be the first!)

## Contact

- **Security issues**: security@getaxonflow.com
- **General support**: hello@getaxonflow.com
- **GitHub Security Advisories**: https://github.com/getaxonflow/axonflow-sdk-rust/security/advisories

Thank you for keeping AxonFlow secure.