Summary
.claude/settings.json has been committed to the public repository and contains the developer's local filesystem path (/Users/maximus/Desktop/INTELMAP/server/src/Data). Additionally, client/.env has been committed to the repository root, even though the server-side .gitignore is present.
Evidence
.claude/settings.json (committed, publicly visible):
{
"permissions": {
"allow": [
"WebFetch(domain:gpsjam.org)",
"Bash(npm install h3-js)",
"Bash(npm run build)",
"Bash(npm run lint)",
"Bash(git add .)",
"Bash(git push)",
"Bash(gh api:*)",
"Bash(pip3 install:*)",
"Bash(git stash:*)",
"Bash(git reset:*)",
"Bash(git add:*)"
],
"additionalDirectories": ["/Users/maximus/Desktop/INTELMAP/server/src/Data"]
}
}
client/.env (committed):
VITE_FLIGHT_PROVIDER=opensky
The additionalDirectories path reveals:
- The developer's username (
maximus)
- The original project name (
INTELMAP), which may differ from the published radar name
- Local filesystem layout
The allowed Bash permissions (git push, git reset:*, git stash:*, gh api:*) are overbroad and indicate this was configured during active development with AI assistance. Any developer who clones this repository and opens it with Claude Code will inherit these permissions.
Why this matters
- Local path disclosure: The
additionalDirectories path is an internal filesystem path that was never intended for public disclosure. It confirms the developer's username, project structure, and local environment.
- Inherited permissions: Claude Code reads
.claude/settings.json from the repository root. Developers who clone this repo inherit the allow-list, including Bash(git reset:*) which can silently discard uncommitted changes and Bash(git push) which auto-approves push operations.
.env in tracking: client/.env currently only contains a non-secret setting, but it establishes the pattern of committing .env files. Future secrets added to this file would be committed automatically.
Root cause
.claude/ directory and client/.env were not added to .gitignore. Both are developer-local artifacts with no place in a public repository.
Recommended fix
- Remove both files from tracking:
git rm --cached .claude/settings.json client/.env
- Add to root
.gitignore:
.claude/settings.json
client/.env
client/.env.local
- Rotate any credentials that may have passed through this environment.
Acceptance criteria
.claude/settings.json and client/.env removed from git tracking
.gitignore prevents future commits of these files
- No local filesystem paths or developer usernames in any committed file
Suggested labels
security, devops
Priority
P2
Severity
Medium — developer local path disclosure and inherited overbroad AI coding assistant permissions for repo cloners.
Confidence
Confirmed — both files directly observed in repository.
Summary
.claude/settings.jsonhas been committed to the public repository and contains the developer's local filesystem path (/Users/maximus/Desktop/INTELMAP/server/src/Data). Additionally,client/.envhas been committed to the repository root, even though the server-side.gitignoreis present.Evidence
.claude/settings.json(committed, publicly visible):{ "permissions": { "allow": [ "WebFetch(domain:gpsjam.org)", "Bash(npm install h3-js)", "Bash(npm run build)", "Bash(npm run lint)", "Bash(git add .)", "Bash(git push)", "Bash(gh api:*)", "Bash(pip3 install:*)", "Bash(git stash:*)", "Bash(git reset:*)", "Bash(git add:*)" ], "additionalDirectories": ["/Users/maximus/Desktop/INTELMAP/server/src/Data"] } }client/.env(committed):The
additionalDirectoriespath reveals:maximus)INTELMAP), which may differ from the publishedradarnameThe allowed Bash permissions (
git push,git reset:*,git stash:*,gh api:*) are overbroad and indicate this was configured during active development with AI assistance. Any developer who clones this repository and opens it with Claude Code will inherit these permissions.Why this matters
additionalDirectoriespath is an internal filesystem path that was never intended for public disclosure. It confirms the developer's username, project structure, and local environment..claude/settings.jsonfrom the repository root. Developers who clone this repo inherit the allow-list, includingBash(git reset:*)which can silently discard uncommitted changes andBash(git push)which auto-approves push operations..envin tracking:client/.envcurrently only contains a non-secret setting, but it establishes the pattern of committing.envfiles. Future secrets added to this file would be committed automatically.Root cause
.claude/directory andclient/.envwere not added to.gitignore. Both are developer-local artifacts with no place in a public repository.Recommended fix
.gitignore:Acceptance criteria
.claude/settings.jsonandclient/.envremoved from git tracking.gitignoreprevents future commits of these filesSuggested labels
security, devops
Priority
P2
Severity
Medium — developer local path disclosure and inherited overbroad AI coding assistant permissions for repo cloners.
Confidence
Confirmed — both files directly observed in repository.