axiom-accessibility
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance,…
Use when the user mentions security review, App Store submission prep, Privacy Manifest requirements, hardcoded credentials, or sensitive data storage.
Claude Code
$ npx -y skills add charleswiltgen/axiom --skill axiom-scan-security-privacy --agent claude-code
Codex
$ npx skills add charleswiltgen/axiom --skill axiom-scan-security-privacy -a codex -y
Cursor
$ npx skills add charleswiltgen/axiom --skill axiom-scan-security-privacy -a cursor -y
Gemini CLI
$ npx skills add charleswiltgen/axiom --skill axiom-scan-security-privacy -a gemini-cli -y
GitHub Copilot
$ npx skills add charleswiltgen/axiom --skill axiom-scan-security-privacy -a github-copilot -y
OpenCode
$ npx skills add charleswiltgen/axiom --skill axiom-scan-security-privacy -a opencode -y
Windsurf
$ npx skills add charleswiltgen/axiom --skill axiom-scan-security-privacy -a windsurf -y
name: axiom-scan-security-privacy description: Use when the user mentions security review, App Store submission prep, Privacy Manifest requirements, hardcoded credentials, or sensitive data storage. license: MIT
You are an expert at detecting security and privacy issues — both known anti-patterns AND missing/incomplete patterns that cause App Store rejections, security vulnerabilities, and privacy violations.
Run every Glob, Grep, and Read this prompt lists. Do not reason from training data instead of scanning.
Include: `**/*.swift`, `**/Info.plist`, `**/PrivacyInfo.xcprivacy`, `**/*.entitlements` Skip: `*Tests.swift`, `*Previews.swift`, `*Mock*`, `*Fixture*`, `*Stub*`, `*/Pods/*`, `*/Carthage/*`, `*/.build/*`, `*/DerivedData/*`, `*/scratch/*`, `*/docs/*`, `*/.claude/*`, `*/.claude-plugin/*`
Glob: **/PrivacyInfo.xcprivacy — is a manifest present? Glob: **/*.entitlements — what entitlements are requested? Glob: **/Info.plist — what usage descriptions are present?
Read the manifest (if present) and note: NSPrivacyAccessedAPITypes, NSPrivacyTracking, NSPrivacyTrackingDomains, NSPrivacyCollectedDataTypes.
Grep for: - `import Security` — Keychain usage - `kSecClassGenericPassword`, `kSecAttrAccount` — Keychain queries - `@AppStorage`, `UserDefaults.standard` — plain-text persistence - `Logger`, `os_log`, `NSLog`, `print` — logging surface - `URLSession` — network traffic - `ATTrackingManager` — tracking prompts - `import CryptoKit`, `import CommonCrypto` — crypto usage
Read 2-3 key files (AuthService, NetworkClient, any file importing Security) to understand:
Write a brief **Security & Privacy Map** (5-10 lines) summarizing:
Present this map in the output before proceeding.
Run all 7 existing detection patterns. For every grep match, use Read to verify the surrounding context before reporting — grep patterns have high recall but need contextual verification.
**Pattern**: API keys, secrets, or tokens in source code **Search**:
**Issue**: Keys are extractable from binary via `strings` or Hopper **Fix**: Move to Keychain, environment variables, or server-side proxy
**Pattern**: Required Reason API used without PrivacyInfo.xcprivacy **Search**: Glob `**/PrivacyInfo.xcprivacy`. If missing, grep for:
**Issue**: App Store Connect blocks submission since May 2024 **Fix**: Create PrivacyInfo.xcprivacy with declared API types and reason codes
**Pattern**: Auth tokens in @AppStorage/UserDefaults **Search**:
**Issue**: UserDefaults is unencrypted — accessible via backup extraction and jailbreak **Fix**: Keychain with `kSecAttrAccessibleWhenUnlockedThisDeviceOnly`
**Pattern**: Cleartext network transmission **Search**:
**Issue**: Data in cleartext; App Store requires ATS exception justification **Fix**: Switch to HTTPS or add justified per-domain NSExceptionDomains entry **Note**: Exclude `http://localhost`, `http://127.0.0.1`, and documentation strings.
**Pattern**: Credentials or PII in log output **Search**:
**Issue**: Logs visible via Console.app, sysdiagnose; included in crash reports **Fix**: R
Battle-tested skills, agents, and tools for modern Apple OS development — Swift 6, SwiftUI, Liquid Glass, Apple Intelligence, and more. Supports Claude Code, Codex, and all other popular coding harnesses and AI-savvy IDEs.
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance,…
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation…
Use when the user has a crash log (.ips, MetricKit JSON, legacy .crash text, .xccrashpoint bundle, or pasted text) that needs…
Use when the user mentions Swift performance audit, code optimization, or performance review — ARC issues, allocation patterns,…
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues — expensive bodies,…
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose…
Decompile Android APK, XAPK, JAR, and AAR files using jadx or Fernflower/Vineflower. Reverse engineer Android apps, extract HTTP…