Project-Level Secrets & Variables
Define secrets and variables shared across all environments in a project.
The Traditional Challenge
Traditionally, managing environment variables and secrets across different environments has been a major pain point:
- Multiple environment-specific files to maintain
- Risk of secrets exposure in version control
- Complex secret rotation processes
- Difficulty in maintaining consistency across environments
- No clear separation between configuration and sensitive data
Facets' Approach: Project-Level Source of Truth

Variables Management
- Project-Level Definition: Define variables once at the project level as your source of truth
- Key-Value Storage: Each variable has a key and value defined at the blueprint level
- Auto-Injection: Mark variables for automatic injection across all resources
- Resource-Level Flexibility: Create aliases for specific resource usage when needed
- Environment Overrides: Override any variable at environment level without changing the source
Secrets Management
- Secure by Design: Only secret keys are stored at project level
- Environment-Level Values: Secret values are stored securely in the environment's secret manager
- Flexible Access: Choose between auto-injection or selective usage through aliases
- Safe Storage: No sensitive data in version control
- Easy Rotation: Update secret values at environment level without touching the blueprint
How to Use Secrets/Variables at Project Level?
Note: Select theAuto Inject checkbox to automatically add (auto-inject) the key-value pair to all the resources in the Blueprint.
Benefits
- Single Source of Truth: One place to define and manage all configurations
- Environment Flexibility: Override values as needed for different environments
- Security First: Proper separation of configuration and sensitive data
- Simplified Management: No need to maintain multiple environment-specific files
- Developer Friendly: Clear visibility of available variables and secrets
This approach transforms what was once a complex, risky process into a streamlined, secure system that scales with your needs.
Variable Status and Overrides
Each variable displays a status indicator showing its current state:
| Status | Defination |
|---|---|
| DEFAULT | Environment uses the project-level default value |
| OVERRIDDEN | Environment has a custom value that differs from default |
| NOT_SET | Variable key exists but no value is configured for this environment |
| NO_ACCESS | You lack VIEW_SECRETS permission to view this secret value |
The multi-environment view displays all these statuses at once, making it easy to identify which environments have custom configurations and which inherit defaults.