Overview
Antigravity Manager provides comprehensive security features including API key management, IP filtering, and request authentication.API Key Configuration
Primary API Key
Primary API key for proxy authenticationFormat: Must start with
Auto-generated: On first launch
Example:
sk- followed by UUIDAuto-generated: On first launch
Example:
sk-a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6Location: config.rs:481Admin Password
Separate password for Web UI management consoleIf not set, the API key is used for Web UI authentication.Minimum Length: 4 characters
Use Case: Docker/browser environments where API key should not be exposedLocation:
Use Case: Docker/browser environments where API key should not be exposedLocation:
config.rs:484Key Generation
API keys are automatically generated using UUID v4:config.rs:576
Authentication Modes
Request authentication policyLocation:
config.rs:146-157Mode Options
No authentication requiredUse Case: Local-only development
Security Level: ⚠️ Low
Authentication required for ALL routesUse Case: Production environments with LAN access
Security Level: ✅ High
Authentication required except
/healthz endpointUse Case: Production with health monitoring
Security Level: ✅ HighRecommended automatic modeBehavior:
- LAN access enabled →
all_except_health - Local only →
off
security.rs:25-36IP Access Control
Blacklist Configuration
Enable IP blacklist filteringLocation:
config.rs:395Custom message shown to blocked IPsLocation:
config.rs:398-399Whitelist Configuration
Enable whitelist-only modeWhen enabled, only whitelisted IPs can access the service.Location:
config.rs:420Whitelist IPs bypass blacklist checksIf true, whitelisted IPs are never blocked even if in blacklist.Location:
config.rs:423Configuration Example
Network Security
Bind Address Control
Control network exposurefalse (default):
- Bind to
127.0.0.1 - Local machine only
- Privacy-first approach
- Bind to
0.0.0.0 - Allow LAN access
- Requires authentication
config.rs:463-467, 620-629Effective Auth Mode Logic
security.rs:25-37
Request Security
User-Agent Override
Custom User-Agent header for upstream requestsUse Cases:
- Bypass overly strict API filtering
- Add application identification
- Debug request routing
antigravity/1.15.8 darwin/arm64Location: config.rs:515Persisted User-Agent valueRetained even when
user_agent_override is disabled, for quick re-enabling.Location: config.rs:536-537Proxy Pool Security
Proxy Authentication
Authentication credentials for upstream proxyLocation:
config.rs:648-649Proxy usernameLocation:
config.rs:635Proxy password (encrypted at rest)Uses custom serialization for security:Location:
config.rs:637-640Proxy Configuration Example
Token & Credential Storage
All sensitive data is stored in platform-specific secure locations:Storage Locations
- macOS:
~/Library/Application Support/com.antigravity.app/ - Linux:
~/.config/antigravity/ - Windows:
%APPDATA%\antigravity\
Encryption
Proxy passwords are encrypted using the
crypto utilities module before storage.OAuth tokens are stored with restricted file permissions (0600).Best Practices
Development
Production (Local Network)
Production (Internet-Exposed)
If absolutely necessary:Security Checklist
✅ Use strong, unique API keys
✅ Set separate admin password for web UI
✅ Enable authentication when allowing LAN access
✅ Regularly rotate API keys
✅ Monitor access logs for suspicious activity
✅ Use IP whitelist for known clients
✅ Keep the application updated
✅ Restrict file permissions on config files
✅ Use upstream proxy with authentication if needed
✅ Enable debug logging only when troubleshooting
✅ Set separate admin password for web UI
✅ Enable authentication when allowing LAN access
✅ Regularly rotate API keys
✅ Monitor access logs for suspicious activity
✅ Use IP whitelist for known clients
✅ Keep the application updated
✅ Restrict file permissions on config files
✅ Use upstream proxy with authentication if needed
✅ Enable debug logging only when troubleshooting
Troubleshooting
Authentication Failed
- Verify
api_keyformat (must start withsk-) - Check
auth_modeconfiguration - Confirm client is sending
Authorization: Bearer <key>header - Review proxy logs for authentication errors
IP Blocked
- Check blacklist configuration
- Verify whitelist if enabled
- Review
block_messagefor details - Check proxy access logs
Web UI Login Failed
- Verify
admin_passwordis set (or useapi_key) - Clear browser cache/cookies
- Check browser console for errors
- Restart proxy service