| Version | Supported |
|---|---|
| 1.0.x | ✅ |
RouteX requires the following system permissions to function:
-
Administrator Privileges
- Purpose: Modify network routing tables
- Commands:
/sbin/route add/delete,/usr/sbin/netstat - Scope: System-wide network configuration
- Risk Level: High (can affect network connectivity)
-
Network Access
- Purpose: Read current routing table
- Commands:
/usr/sbin/netstat -rn - Scope: Read-only access to network configuration
- Risk Level: Low (read-only)
-
File System Access
- Purpose: Cache phantom route destinations
- Location:
~/Library/Preferences/com.routex.app.plist - Scope: User preferences only
- Risk Level: Low (user data only)
- Signature Type: Ad-hoc (self-signed)
- Developer: awgh@awgh.org
- Notarization: Not Apple notarized
- Gatekeeper: Will be blocked by default
Why Ad-hoc Signing?
- RouteX is open-source software
- No Apple Developer Program membership required
- Users can verify source code integrity
- Community-driven development model
- ✅ Read your current network routing table
- ✅ Add new static routes to the kernel
- ✅ Delete user-created routes
- ✅ Modify route properties (gateway, interface, flags)
- ✅ Cache phantom route destinations locally
- ❌ Access your personal files
- ❌ Send data over the network
- ❌ Access other applications
- ❌ Modify system routes (protected)
- ❌ Persist across reboots (routes are kernel-managed)
- ❌ Access your browsing history or personal data
- 📡 No network communication (except route commands)
- 📊 No analytics or telemetry
- 🔍 No data collection
- 🌐 No internet access
- 📱 No mobile device access
-
Verify Source
# Clone from official repository git clone https://github.com/awgh/RouteX.git # Verify commit signatures (if available) git log --show-signature
-
Build from Source
# Build locally to ensure integrity ./build.sh # Verify the build codesign -dv build/DerivedData/Build/Products/Release/RouteX.app
-
Test in Safe Environment
- Use a test machine or VM
- Backup current routing table
- Test with non-critical routes first
-
Monitor Network Changes
# Before making changes netstat -rn > ~/Desktop/routes_before.txt # After making changes netstat -rn > ~/Desktop/routes_after.txt # Compare changes diff routes_before.txt routes_after.txt
-
Code Review
- All changes require pull request review
- Security-sensitive code gets extra scrutiny
- Automated security checks in CI/CD
-
Dependency Management
- Minimal external dependencies
- Regular dependency updates
- Security vulnerability scanning
-
Testing
- Unit tests for all route operations
- Integration tests for system commands
- Security-focused test cases
- Email: awgh@awgh.org
- GitHub Issues: Security Issues
- Private Disclosure: Use GitHub's private reporting feature
- Description: Clear explanation of the vulnerability
- Steps to Reproduce: Detailed reproduction steps
- Impact Assessment: Potential security implications
- Suggested Fix: If you have ideas for remediation
- Contact Information: How to reach you for follow-up
- Initial Response: Within 48 hours
- Assessment: Within 1 week
- Fix Development: 1-4 weeks (depending on complexity)
- Public Disclosure: After fix is available
- No Public Disclosure: Until fix is available
- Credit: Given to reporters in release notes
- Coordination: With affected users when necessary
- Transparency: Full disclosure after resolution
-
IP Address Validation
- IPv4 and IPv6 format checking
- CIDR notation validation
- Invalid address rejection
-
Route Flag Validation
- Mutual exclusion checking
- Valid flag combinations
- System protection
-
Gateway Validation
- IP address format
- Interface name validation
- MAC address format
-
Route Editability
- Only user routes can be modified
- System routes are protected
- Kernel routes are preserved
-
Privilege Escalation
- Minimal privilege usage
- Temporary elevation only
- Proper privilege cleanup
-
Error Handling
- Graceful failure modes
- User-friendly error messages
- System state preservation
RouteX collects NO data:
- ❌ No analytics
- ❌ No telemetry
- ❌ No crash reporting
- ❌ No usage statistics
- ❌ No personal information
Only stores:
- ✅ Phantom route cache (UserDefaults)
- ✅ UI preferences (UserDefaults)
- ✅ Route type preferences (UserDefaults)
Location:
~/Library/Preferences/com.routex.app.plist
Content:
- Phantom route destinations (IP addresses)
- UI state preferences
- No personal or sensitive data
RouteX makes NO network requests:
- ❌ No HTTP/HTTPS requests
- ❌ No API calls
- ❌ No external services
- ❌ No cloud synchronization
Only system commands:
- ✅
/sbin/route(local) - ✅
/usr/sbin/netstat(local) - ✅
/sbin/ifconfig(local)
- License: GNU General Public License v3.0
- Source Code: Fully available on GitHub
- Modifications: Allowed under GPL v3
- Distribution: Free and open
- Sandboxing: Not applicable (requires system access)
- App Store: Not distributed via App Store
- Notarization: Not required for sideloading
- Gatekeeper: User must explicitly allow
- OWASP: Follows secure coding practices
- CWE: Avoids common vulnerability patterns
- Secure by Default: Minimal attack surface
- Defense in Depth: Multiple security layers
-
Detection
- Automated security scanning
- Community bug reports
- Security researcher disclosures
-
Assessment
- Impact analysis
- Affected user identification
- Remediation planning
-
Response
- Immediate fix development
- User notification
- Public disclosure
-
Recovery
- Fix deployment
- Verification testing
- Documentation updates
- Users: Via GitHub releases and issues
- Security Researchers: Direct email contact
- Community: Transparent disclosure process
- Media: Official statements when necessary
Last Updated: January 2025
Contact: awgh@awgh.org
Repository: https://github.com/awgh/RouteX