Security
Best practices for securing your API keys and applications.
API Key Handling
API keys are the primary authentication mechanism for WhizAI. Here's what you need to know:
Key Format
API keys follow this format:
cw_{environment}_{random_string}Examples: cw_development_..., cw_production_...
Key Generation
- Keys are generated using cryptographically secure random generation
- Full key is only shown once when created - store it securely
- Key prefix (first 12 characters) is visible in dashboard for identification
- Keys are hashed before storage (plaintext is never stored)
App-Level Isolation
Each app is completely isolated:
- API keys are scoped to a specific app
- Data is isolated per app (no cross-app access)
- Usage is tracked per app
- Workflows are scoped to apps
This means you can safely use the same WhizAI account for multiple projects without data leakage.
Permission Scopes
API keys can have different permission scopes to limit what they can do:
generation.create- Create generation requestsgeneration.read- Read generation resultsworkflows.read- Read workflow runsworkflows.write- Create workflow runsvector.search- Perform searchesvector.write- Ingest dataenrichment.*- All enrichment operationsmoderation.*- All moderation operations
Use the principle of least privilege - only grant the scopes your application needs.
Best Practices for Production
1. Store Keys Securely
- Never commit API keys to version control
- Use environment variables or secret management services
- Rotate keys regularly
- Use different keys for different environments
2. Use Appropriate Scopes
- Create separate keys for different services
- Use read-only keys when possible
- Limit write permissions to services that need them
3. Monitor Usage
- Check usage regularly in your dashboard
- Set up alerts for unusual activity
- Revoke keys that are no longer needed
4. Use HTTPS
Always use HTTPS when making API calls. Never send API keys over unencrypted connections.
What WhizAI Does NOT Do
For transparency and trust, here's what WhizAI does NOT do:
- We do NOT store your API keys in plaintext
- We do NOT share your data between apps
- We do NOT use your data to train models (unless explicitly agreed)
- We do NOT log request/response bodies (only metadata)
- We do NOT expose your data to other customers
Need Help?
If you suspect a key has been compromised, revoke it immediately in your dashboard and generate a new one.
API Reference