Clearance — App Store Pre-Flight
Catch App Store rejection causes before you submit — right inside VS Code.
Clearance scans your Expo or React Native project and flags the mechanical issues that get iOS apps rejected. Fix them in minutes, not weeks.
Features
🔍 Instant project scan
Run Clearance: App Store Pre-Flight: Scan Project from the Command Palette (Ctrl+Shift+P). Clearance reads your app.json, Info.plist, and PrivacyInfo.xcprivacy and reports every issue it finds.
🤖 GitHub Copilot integration
Type @clearance in GitHub Copilot Chat and get your scan results plus AI-generated, copy-pasteable JSON fixes tailored to your actual app — not generic advice.
@clearance scan my app
📋 Results panel
A dedicated results panel shows:
- Readiness score — a percentage showing how many checks your app passes
- Blocking errors — things Apple will auto-reject for
- Warnings — things that are likely to cause issues
- Policy checklist — manual items you need to verify before submitting
🔴 Inline squiggles
Problems appear as red/yellow squiggles directly in your app.json, just like compiler errors.
↗ Jump to issue
Every finding with a known location has an Open in editor button that jumps your cursor to the exact line.
📊 Live status bar
The bottom status bar shows your current scan status at a glance — Clearance: 3 errors, Clearance: Ready, etc. Click it to rescan.
What it checks
| Check |
What it catches |
| Bundle identifier |
Missing, invalid format, or placeholder values like com.example.* |
| Version & build number |
Wrong format, missing fields |
| iOS deployment target |
Below Apple's current minimum (iOS 16) |
| Permission usage descriptions |
Missing NSCameraUsageDescription, NSLocationWhenInUseUsageDescription, NSUserTrackingUsageDescription (ATT), and 15 more |
| App Transport Security |
NSAllowsArbitraryLoads: true, plain http:// URLs |
| Privacy manifest |
Missing or malformed PrivacyInfo.xcprivacy |
| Encryption declaration |
Missing ITSAppUsesNonExemptEncryption |
| Placeholder values |
Default app names, localhost URLs, TODO markers |
| App icon |
Not configured, or the file doesn't exist on disk |
Plus a Policy Checklist of 7 manual items that can't be automated — app completeness, support URL, privacy policy, demo account, and more.
Requirements
- VS Code 1.90 or later
- Expo or React Native project with an
app.json
- GitHub Copilot (optional — required for the
@clearance chat feature)
How to use
Command Palette
- Open your Expo/React Native project in VS Code
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type
Clearance and select App Store Pre-Flight: Scan Project
Copilot Chat
- Open Copilot Chat (
Ctrl+Alt+I)
- Type
@clearance followed by your message
- Clearance scans your project and streams back results with specific fixes
Release Notes
0.1.0
Initial public release. 9 mechanical checks, GitHub Copilot chat integration, live status bar, inline diagnostics, and readiness score panel.