Good security suggestions more guidelines than anything else - for them to be enforced a company would need to discuss them first.
I know you are all smart. Yet we all make mistakes, so the system is important.

Reporting & Escalation

Any doubt about a cyber issue? Contact the cybersecurity person immediately by slack — don’t hesitate.

If you’re sure it’s a real incident, contact the higher up as well.


Passwords & Accounts

  • Use a password manager with unique, strong passwords for anything work-related
  • Enable MFA everywhere and don’t forget threat vectors.
  • Never share passwords or MFA codes in public channels. If you share them in a chat, delete them immediately after
  • Never paste secrets, access tokens, customer data, or proprietary code into public tools
  • Be cautious with browser extensions, especially AI-powered ones

Device Security - especially for admins

  • Optional: encrypt your disk (BitLocker/VeraCrypt on Windows, FileVault on Mac) — store the recovery key in your password manager
  • Enable fast screen lock
  • Keep your OS, browser, password manager, and dev tools updated
  • Avoid using AI tools in the browser, or use a separate browser with almost no accounts under close watch. Overall AI tools are making us win so much time already. Let’s not be careless.
  • Also try to restart your browser sessions every so often don’t just keep it with all the accounts permanently logged in.

Key & Credential Hygiene

  • Rotate keys and remove unused credentials regularly (aim for every 90 days)
  • Credentials must be stored in environment variables, never in source code, Dockerfiles, or CI/CD pipeline definitions
  • Future: we can use pre-commit hooks to detect and block accidental credential commits, to do this:
    • pip install pre-commit
    • pre-commit install
    • pre-commit autoupdate
    • gitleaks

AI Coding Assistants

Copilot, Claude Code, Cursor, etc.

  • Treat AI output like untrusted code — quick review before accepting except if it’s a prototype
    • Require tests before merge (unit + security-relevant tests)
    • Verify crypto choices and auth flows — AI often suggests weak or legacy patterns
    • Do periodic dependency reviews
    • A tool I love: coderabbit, but it had issues with claude last time
  • Always have backups when working with AI. At least git history.
  • Don’t let AI touch your api keys, give them to github secrets.
  • If you’re using --dangerously-skip-permissions
    • use a container or sandbox, or another code-container - something
    • use auto-mode instead (also make sure it’s not just a text guardrail protecting your db)
  • Make sure your coding assistant doesn’t train on your data:
    - GitHub Copilot: disable training
    - Claude Code: disable training in the settings
  • Recommended reading:
    - Claude Code Mastery Guide
    - Claude Code Hooks

Don’t trust AI.

MCP Servers & Agent Tools

  • Limit the number of MCP servers you use, and document every one you have configured in your profile.md
    • Verify MCP servers before use with a scanner like Snyk Agent Scan (the API key is in 1Password, run it at least once)
  • MCP servers are inherently risky — they can change at any point and interact directly with your agent
    • Run MCP/tooling with least privilege (scoped tokens, read-only where possible) to avoid damaging your accounts
    • Check the full OAuth URL before approving access, even if it looks legit — watch this explainer
    • Use mcpinspector to inspect tool safety before adding servers
  • Restrict @mcp command to an allow-list
  • Candidate server list: mcpcloud.ai, Docker MCP servers
  • Sandbox: “mm” (placeholder — investigate)

Prompt Injection & Data Exfiltration

When building applications that use AI, treat all user content and retrieved content as hostile input:

  • Sanitize inputs where feasible
  • Rate-limit prompts and tool calls
  • Enforce allowlists for tools, domains, and actions
  • Don’t let the model decide access control — enforce it in code

Supply Chain Security

  • Enable GitHub Dependabot (or equivalent) on all repositories - it’s free and easy
  • Watch for random or hallucinated packages in AI-generated code
  • Prefer signed/verified artifacts when available, avoid untrusted third-party APIs and code
  • We should eventually have SBOMs (CycloneDX) for each app to track dependencies, let’s at least write them down in the doc for now.
  • Avoid using new shiny tools, they’ll be full of unknown vulnerabilities upon release

Application Security Basics

  • Enable security headers, CSRF protection, and secure cookie settings
  • Always review an app’s security posture before production deployment
  • At minimum, run AI-assisted security prompts against the codebase
  • Someone needs to use snyk code on the project to see common issues like leaked keys - you have the key, you’re smart, I’m available
  • We should be performing pen-testing with our tools before shipping anything to production

Logging, Monitoring & Response

  • Log auth events, tool invocations, and model/API calls with enough context to investigate
  • Alert on unusual access patterns and unusual model usage (spikes, new regions, atypical params)
  • Have a clear escalation path for suspected prompt injection or leaked secrets

Further Reading

Need to investigate