โ Cybersecurity for Founders
Day 3 of 7
Secrets Management and Team Security
The Secrets Management Problem
API keys, database credentials, Stripe keys, and OAuth secrets are the keys to your kingdom. Leaking them โ via GitHub, a screenshot, a Slack message, a shared document โ is the #1 cause of serious cloud infrastructure breaches. This is not theoretical: GitHub scans public repositories continuously and notifies service providers when API keys are found. Attackers also scan GitHub in real time.
Never put secrets in code. This is absolute. Use environment variables at runtime, injected by your CI/CD system or deployment platform. For local development, use a .env file that is git-ignored (verify .gitignore covers it). For production, use: Vercel's environment variables (encrypted at rest), Cloudflare's Workers Secrets (never exposed in logs or APIs), or a dedicated secrets manager like HashiCorp Vault or AWS Secrets Manager.
Audit your current repositories right now. Search for: 'API_KEY', 'SECRET', 'PASSWORD', 'sk_live', 'STRIPE', 'anthropic' in your codebase (use grep or IDE search). Any hardcoded values are high-priority issues. If you find historical secrets in git history, rotate them immediately โ the history persists even after you remove the secret from the current file.
Password Managers for Teams
A shared Google Doc of passwords, a Notion page with credentials, or a WhatsApp message with an API key โ these are the security practices that cause breaches. A team password manager is the single most impactful security improvement for a small business.
1Password Teams ($19.95 AUD/user/month) is the market leader: works on all devices including iOS, supports iOS PassKeys, has an excellent browser extension, allows secure sharing of credentials between team members without revealing the password, and maintains an audit log of credential access. For Darkice Interactive with 2โ5 team members, this costs $40โ$100/month โ less than one hour of your billing rate.
1Password's 'Vaults' feature is key: create separate vaults for different products/clients (BathCheck vault, Gliderol vault, Dormakaba vault). Only give team members access to the vaults they need. This limits the blast radius if one team member's account is compromised.
For all service accounts used by Darkice Interactive โ GitHub, AWS, Cloudflare, Anthropic, Stripe, Apple Developer โ create dedicated credentials that are stored in 1Password and never shared informally. Rotate them annually or when a team member leaves.
โก Today's Action
Audit your current secrets management. Inventory: where are your production API keys stored? Who has access to them? When were they last rotated? If any are in code, in Slack/WhatsApp history, or in shared documents, rotate and relocate them today. Set up 1Password Teams if you haven't already.
๐ก Pro Tip
Set up GitHub's secret scanning feature (free for public and private repos) โ it automatically alerts you if secrets are accidentally committed. Also enable push protection, which blocks pushes that contain detected secrets before they're committed.