| Version | Supported |
|---|---|
| 1.x.x | Yes |
| < 1.0 | No |
The registry must never contain API keys, tokens, or credentials. All secrets are:
- Declared in stack manifests under
requires.secrets - Stored locally by users in
~/.rudi/secrets.json - Injected at runtime by the RUDI CLI
Packages in the official registry are reviewed before inclusion. Third-party packages should be reviewed by users before installation.
Changed official stacks must also pass their repository-owned offline verification contract. The runner invokes argv without a shell, removes parent tokens and provider secrets from the child environment, isolates user state, and refuses unlocked Node dependency preparation. Hosted bridges are checked statically and must not contact their provider during verification.
Generated release metadata binds every index and the catalog hash tree to an
exact SHA-256 value plus source revision context. npm run release:verify
fails closed on missing, extra, traversing, or mismatched artifact paths.
Binaries are sourced from:
- Official upstream releases (GitHub, vendor sites)
- Verified checksums where available
- Platform-specific builds (darwin-arm64, darwin-x64, linux-x64)
If you discover a security vulnerability in the RUDI Registry, please report it responsibly:
- Do not open a public GitHub issue
- Email security concerns to the maintainers
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We aim to respond to security reports within 48 hours and will work with you to understand and address the issue.
When reviewing packages for inclusion:
- No embedded secrets - Check for hardcoded API keys or tokens
- Trusted sources - Verify upstream binary URLs are official
- Minimal permissions - Stack should only request necessary secrets
- Safe commands - No arbitrary code execution in manifests
- Clear documentation - Users understand what they're installing
When creating stacks:
- Declare all secrets - List every required credential in the manifest
- Use environment variables - Read secrets from
process.envoros.environ - Validate inputs - Sanitize all user-provided data
- Handle errors - Don't leak sensitive information in error messages
- Minimal scope - Request only the permissions your stack needs
This security policy covers:
- The RUDI Registry (
learnrudi/registry) - Official stacks, binaries, and prompts
- The index.json package manifest
Third-party stacks linked from external sources have their own security policies.