Prerequisites: Oso Dev Server v1.18.0+ and the development tools setup.
Features
- Parity checking: Compare authorization decisions side-by-side between your legacy system and Oso Cloud.
- Request replay: Replay authorization requests after policy updates.
- Authorization logging: View full request history with timestamps, queries, results, and data snapshots.
- Policy debugger: Inspect query evaluation in an interactive tree view.
- Test integration: Export logged requests into tests with real data snapshots.
Installation
Binary (macOS/Linux)
Download and run the Oso Dev Server binary directly:Docker (Windows/all platforms)
Use Docker for cross-platform compatibility: Single policy file:Verify installation
Access the migration interface:http://localhost:8080
Implementation example
UseParityHandle
to compare authorization decisions:
parityHandle.expect()
anywhere in the request flow.
Policy Debugger guide
Understand how the Policy Debugger visualizes authorization queries. Query Tree Structure: Each query appears as an expandable tree showing:- Different ways the query could succeed (OR logic)
- Subconditions required for success (AND logic)
- Current evaluation path you’re inspecting
- Arrow (▶/▼): Expand/collapse query
- Color: Green = succeeded, Red = failed
- Dots (● ○): Different possible resolution paths
- Solid dot: Currently viewed path
not
nodes succeed only when all wrapped expressions fail- Visual indicators show which expressions were true/false
Advanced configuration
Local Authorization setup
Local Authorization setup
Docker + PostgreSQL setup
Docker + PostgreSQL setup
Configure Oso Migrate with PostgreSQL running in Docker containers.macOS/Linux (binary):Windows (Docker):
Telemetry and privacy
Telemetry and privacy
Oso collects anonymous usage analytics to improve the product.What we collect:
- Policy update events (with hashed policy content)
- Usage patterns (anonymous)
- We cannot identify you from the analytics
- All data is anonymized
Troubleshooting
Migration interface issues
Migration interface issues
Can’t access localhost:8080:
- Verify Oso Migrate is running: check terminal for startup messages
- Check port conflicts:
lsof -i :8080
- Try different port: add
--port 9000
to startup command
- Verify file path is correct and accessible
- Check for syntax errors in Polar policy files
- Review startup logs for detailed error messages
Parity checking problems
Parity checking problems
Expected results not showing:
- Ensure
parityHandle.expect()
is called once per request - Verify legacy authorization function is returning correct values
- Check timing - call
expect()
after both systems complete
- Confirm both authorization calls are using the same parameters
- Verify data consistency between systems
- Check request context and timing
Database connection issues
Database connection issues
PostgreSQL connection fails:
- Verify connection string format and credentials
- Check database is accessible from Oso Migrate
- For Docker: ensure network connectivity between containers
- Confirm Local Authorization config file is valid
- Check database permissions for dump operations
- Verify temp directory mounting for Docker setups
Migration resources
- Set up local development with the Dev Server
- Write authorization policies using Polar
- Model your data as facts for authorization decisions
- Implement authorization checks in your application