This project includes scripts for building and distributing the app that require Apple Developer credentials. NEVER commit sensitive information to the repository.
The following files are already in .gitignore
and should never be committed:
scripts/signing_config.sh
- Contains your Apple ID and app-specific password*.p12
- Certificate files*.cer
- Certificate files*.key
- Private key files*.certSigningRequest
- CSR filesDeveloperID_*
- Any Developer ID related files
-
Copy the template file:
cp scripts/signing_config_template.sh scripts/signing_config.sh
-
Edit
scripts/signing_config.sh
with your actual credentials:APPLE_ID
: Your Apple ID emailAPP_PASSWORD
: App-specific password from appleid.apple.comTEAM_ID
: Your Apple Developer Team ID (this is okay to keep public)
-
Verify it's ignored by git:
git status # Should NOT show scripts/signing_config.sh
If you're using GitHub Actions for automated releases, add these secrets to your repository:
- Go to Settings → Secrets and variables → Actions
- Add the following repository secrets:
APPLE_ID
: Your Apple ID emailAPP_PASSWORD
: App-specific passwordTEAM_ID
: Your Team IDCERTIFICATE_BASE64
: Your certificate in base64CERTIFICATE_PASSWORD
: Certificate passwordKEYCHAIN_PASSWORD
: A random password for the temporary keychain
- Go to https://appleid.apple.com
- Sign in with your Apple ID
- Go to "Sign-In and Security" → "App-Specific Passwords"
- Click the "+" to generate a new password
- Name it "ClaudeCodeUI Notarization"
- Copy the generated password (format: xxxx-xxxx-xxxx-xxxx)
If you accidentally committed sensitive information:
-
Immediately revoke the exposed credentials:
- Revoke the app-specific password at appleid.apple.com
- Create a new one
-
Remove from git history (this won't help if already pushed to GitHub):
git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch scripts/signing_config.sh" \ --prune-empty --tag-name-filter cat -- --all
-
Force push (if the repo is public, consider the credentials compromised):
git push origin --force --all
-
Create new credentials immediately
- Use environment variables for CI/CD instead of hardcoding
- Rotate app-specific passwords periodically
- Use separate passwords for different purposes
- Never share your signing_config.sh file
- Always verify with
git status
before committing
If you're contributing to this project:
- Never ask for someone's credentials
- Test with your own Apple Developer account
- Use the template files as reference
- Report security issues privately to the maintainer