Security model
AI Model Directory is provider-supplied metadata. It is useful for model selection, defaults, and comparison, but it should not be treated as a billing authority or a guarantee that a provider is telling the truth.
What the updater protects
- Provider endpoints are hardcoded in source.
- Fetched data is validated against a strict Zod schema before writing files.
- Model IDs are normalized into safe directory names.
- Conflicting normalized model directories are resolved deterministically.
- Terminal output is sanitized before logging.
- Network fetches have a 60 second timeout.
- IDs and names are length-limited and reject raw control characters.
- Removed upstream models are deleted unless
metadata.tomlsetspreserve = true. extendspaths are restricted to paths insidedata/providers.- Provider-supplied code, shell commands, and HTML are not executed.
What your app should still do
- Treat prices and capabilities as a strong default, not a source of truth.
- Keep provider API keys in your own backend or secret store.
- Handle missing models and changed limits gracefully.
- Check provider billing pages for critical cost decisions.
Reporting issues
If a provider entry looks suspicious or incorrect, open an issue or pull request with a link to the provider's official docs.