Connect your first PIP
A Policy Information Point (PIP) feeds real-time attributes into controls — roles, department, clearance, employment status, and more. This guide connects your first data source end-to-end.
Choose a starter source
| Source | Best first PIP | Typical attributes |
|---|---|---|
| Okta | Yes — fast OIDC/API setup | user.roles, user.department, user.manager |
| Microsoft Entra ID | Yes | user.groups, user.job_title |
| Workday | HR enrichment | user.employment_status, user.clearance |
| PostgreSQL / REST | Custom metadata | resource.owner, resource.classification |
How to use (~20 min)
Step 1 — Open data sources (~2 min)
- Control Plane → Settings → Data Sources
- Click Add connection
- Select Okta (or your IdP)
Step 2 — Configure credentials (~5 min)
- Store client ID/secret via secrets manager integration — never in plain text
- Set sync interval (default 15 min for snapshot tier)
- Click Test connection — expect HTTP 200 and sample user count
Step 3 — Map attributes (~8 min)
- Mappings tab → Add mapping
- Source field:
profile.department→ Control Core attribute:user.department - Repeat for
groups→user.roles - Set runtime tier: snapshot for Day-1 (see PIP getting started for tier guide)
Step 4 — Verify Policy Bridge distribution (~3 min)
curl -s -H "Authorization: Bearer <token>" \
"$PAP_API_URL/policy-bridge/pip-data/<connection_id>" | jq 'keys'
Bouncers receive PIP data on next Policy Bridge sync (~30–90s).
Step 5 — Use in a control (~5 min)
- Controls → Create → Visual Builder
- Add condition:
user.departmentequalsFinance - Deploy to sandbox; send test request with matching JWT
How to review / audit
- Settings → Data Sources — last sync time, error count
- Audit Logs — decisions should include enriched
user.*attributes in payload - Policy Bridge sync events:
OPAL_SYNC_COMPLETEDafter PIP schema change
Monthly review:
- Credentials rotation within policy window
- No PIP sync failures > 24h
- Mapped attributes still match IdP schema changes
Troubleshooting
Troubleshooting: Test connection fails?
- Verify outbound HTTPS from Control Plane API to IdP
- Check token scopes — Okta needs
okta.users.read- See Admin troubleshooting
Troubleshooting: Control does not see new attribute?
- Confirm mapping saved and Policy Bridge sync completed
- Attribute tier
snapshotmay lag — switch todecision_timefor critical controls only- Inspect bundle:
curl $PAP_API_URL/policy-bridge/pip-data/<connection_id>
Troubleshooting: PII in logs?
- Control Core must not log raw PIP payloads — enable diagnostic level warn only for support tickets
Next steps: PIP admin guide · PIP developer guide · Auto-generate controls