NEVER commit secret keys, private keys, or sensitive credentials to version control.
The following information is public and safe to include in documentation:
-
✅ Contract Addresses (C-addresses like
CCSZX5HH...)- These are public on-chain identifiers
- Anyone can query them on Stellar Explorer
-
✅ Account Addresses (G-addresses like
GAC63U4Z...)- These are public account identifiers
- Not secret, but don't reveal account balances unnecessarily
-
✅ WASM Hashes
- Public identifiers for contract code
- Used to verify contract deployments
-
✅ Environment Variable Names
- Variable names like
REPUTATION_CONTRACT_ADDRESSare not secrets - Only the values may contain secrets
- Variable names like
NEVER commit these to version control:
-
❌ Secret Keys (starting with
SC...)- These provide full control over Stellar accounts
- Store in Supabase Edge Functions Secrets or secure vaults
-
❌ Private Keys
- Same as secret keys - full account control
-
❌ API Keys
- Any API keys, tokens, or authentication credentials
-
❌ Passwords
- Database passwords, service passwords, etc.
Files containing sensitive information should follow this pattern:
*-deployment-info-*.txt- Contains contract addresses (safe)*-service-account-setup.txt- Contains secret keys (NOT SAFE for git)complete-deployment-summary-*.txt- May contain secrets (NOT SAFE for git)
- Use
.envfiles for local development (already in.gitignore) - Use Supabase Edge Functions Secrets for production credentials
- Use environment variable templates (
.env.example) without actual values - Review files before committing - check for
SC,SA, or other secret patterns - Rotate keys immediately if accidentally committed
- Immediately rotate the exposed keys
- Remove from git history using
git filter-branchor BFG Repo-Cleaner - Update all systems using the old key
- Review access logs for unauthorized usage
- Backend Service Account Secret: Stored in Supabase Edge Functions Secrets
- Contract Addresses: Safe to document (public on-chain)
- Environment Variables: Use
.envfiles (gitignored) or Supabase secrets
When creating deployment documentation:
- Use
[REDACTED]or[See Supabase Secrets]for secret values - Include instructions on where to find the actual values
- Never include actual secret keys in committed files