Skip to content

Privacy: Scrub email addresses from .squad/ files during migration #108

Closed

Description

@bradygaster

Problem

The coordinator reads git config user.email during Init Mode and stores it in team.md and agent history.md files. These files get committed and pushed — exposing the user's email address to search engines and bad actors.

Immediate Fix (this session)

  • Removed git config user.email from squad.agent.md Init Mode (line 33)
  • Added explicit instruction: Never read or store git config user.email
  • Scrubbed email from 9 .ai-team/ files in this repo

Migration Work (v0.5.0)

During squad upgrade --migrate-directory:

  1. Scan all .squad/ files (team.md, history.md, decisions.md, logs) for email-like patterns
  2. Replace username (email@domain.com) → username
  3. Report what was scrubbed so the user knows
  4. Git history note: The email still exists in git history. Recommend git filter-repo or BFG Repo-Cleaner in the migration docs for users who want full scrub.

Auto-Migration Priority

This issue reinforces that squad upgrade must be a real, working auto-migration feature in v0.5.0 — not just docs telling people to rename manually. The migration tool needs to:

  • Rename .ai-team/ → .squad/
  • Update .gitattributes and .gitignore
  • Scrub email addresses from all .squad/ files
  • Commit the changes

Related: #69 (v0.5.0 epic)

Labels

release:v0.5.0, type:bug, privacy

Activity

  1. added this to the v0.5.0 milestone on Feb 20, 2026
  2. bradygaster commented on Feb 20, 2026

    @bradygaster
    CollaboratorAuthor

    �� Baer: PR #110 open — email scrub implemented.

    • scrubEmailsFromDirectory() scans team.md, history.md, decisions.md, logs
    • squad scrub-emails [dir] manual command available
    • Auto-scrubs during squad upgrade --migrate-directory
    • Preserves emails in URLs, code blocks, examples
    • Git history caveat documented (recommend \git filter-repo\ for full scrub)
    • All 53 tests pass

    Ready for review. Resolves this issue when merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions