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)
You can download and run the Oso Dev Server binary directly, no additional tooling required.Download the Binary
To download the latest macOS ARM64 build:oso-dev-server.
Other Available Builds:
Replace the platform suffix in the URL to download the appropriate binary for your system:
linux-arm64linux-x86_64macos-x86_64
Run the Dev Server
Single policy file:Docker (Windows/All Platforms)
Use Docker for cross-platform compatibility: Single policy file:Implementation Example
UseParityHandle to compare authorization decisions:
parityHandle.expect() at any point in the request flow to accommodate non-centralized authorization logic (one call per request).
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
notnodes succeed only when all wrapped expressions fail- Visual indicators show which expressions were true/false
Advanced Configuration
Local Authorization setup
Local Authorization setup
Local Authorization with Dockerized Postgres
Local Authorization with Dockerized Postgres
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 9000to 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