All Articles

Managing Multiple Environments: Dev, Staging, Production

How to organize credentials across development, staging, and production with safer access controls and rotation policies.

5 min read
2024-11-30
DevOpsOrganizationBest Practices

The Multi-Environment Challenge

Modern software development involves multiple environments: development, staging, QA, production. Each environment needs separate credentials. Mixing them creates security risks and deployment errors.LockPulse Projects are one practical way to enforce this separation.

Why Separate Environments Matter

Using production credentials in development is dangerous:

  • Accidental production changes during testing
  • Developers having unnecessary production access
  • Compliance violations (PCI-DSS, HIPAA require separation)
  • Leaked dev credentials compromising production

Organizing with LockPulse Projects

Create a dedicated project for each environment:

Development Environment Project

Store credentials for local development and dev servers:

  • Local database passwords
  • Dev AWS account keys
  • Test API keys (Stripe test mode, etc.)
  • Development service credentials

Access: All developers. These credentials can be less restrictive since they access non-production data.

Staging Environment Project

Staging mirrors production but uses separate credentials:

  • Staging database passwords
  • Staging AWS resources
  • Test payment gateway keys
  • Pre-production service accounts

Access: Developers and QA team. Use this for final testing before production deployment.

Production Environment Project

The most restricted project with live system credentials:

Access: Limited to senior engineers and DevOps team. Implement strict access controls.

Environment-Specific Best Practices

Color Coding and Labels

Use a consistent tagging/color system to visually distinguish environments:

  • 🟢 Development: Green tags
  • 🟡 Staging: Yellow tags
  • 🔴 Production: Red tags

Naming Conventions

Establish clear naming patterns:

  • DEV - AWS Access Key
  • STAGING - Database Password
  • PROD - Stripe API Key

Credential Rotation by Environment

Different environments require different rotation schedules:

  • Development: Rotate every 6 months or when team changes
  • Staging: Rotate quarterly
  • Production: Rotate every 90 days (or more frequently)

Learn more about credential rotation automation.

Deployment Workflows

When deploying to a new environment:

  1. Retrieve credentials from the appropriate LockPulse project
  2. Never copy production credentials to staging/dev
  3. Use environment variables, never hardcode
  4. Verify you're using correct environment before deployment

CI/CD Integration

For automated deployments, map pipeline secrets to the correct environment boundary:

  • Dev branch deploys use Development Project credentials
  • Main branch deploys use Production Project credentials
  • Feature branches can use Staging Project for testing

See CI/CD credential security for detailed integration strategies.

Emergency Access

Define break-glass procedures for production access:

  • Who can access production credentials in emergencies
  • Logging requirements for emergency access
  • Post-incident credential rotation

Compliance Considerations

Many compliance frameworks require environment separation:

  • PCI-DSS: Requires separate dev/prod environments
  • SOC 2: Mandates access controls by environment
  • HIPAA: Restricts production PHI access

LockPulse's project-based organization and audit logginghelp satisfy these requirements.

Secure Your Team's Credentials with LockPulse

Organize credentials by project, share securely with your team, and maintain complete control with zero-knowledge encryption.