Security & Permissions
Data Security and Keys
Model storage, encryption behavior, and key management guidance
Data Security and Keys
Model config uses a split design:
- Global model pool in
~/.ship/ship.db - Project-level binding in
<project>/ship.jsonasmodel.primary
How apiKey is protected
Provider apiKey is not stored in plaintext. It is stored in encrypted field api_key_encrypted.
Key source priority:
SMA_MODEL_DB_KEY~/.ship/console/model-db.key
Best practices
- Never commit
~/.shipor any key material. - Use a secret manager to inject
SMA_MODEL_DB_KEYin team/production environments. - After key rotation, validate model connectivity through CLI and one real invocation.