Audit Logging
Every auction, bid, win, and impression on Praevis is logged. This supports revenue reconciliation, fraud investigation, compliance audits, and dispute resolution.
What is logged
| Event | Fields logged | Retention |
|---|---|---|
| Auction | auction_id, timestamp, publisher_id, partner_id, region, bid_floor | 90 days |
| Bid (per DSP) | dsp_id, bid_price, response_time_ms, outcome (win/loss/no-bid) | 90 days |
| Win | auction_id, winning_dsp_id, clearing_price_micros, publisher_id | 90 days |
| Impression | auction_id, publisher_id, dsp_id, timestamp, revenue_micros | 90 days |
| IVT rejection | timestamp, publisher_id, ip_hash, rejection_layer, reason | 90 days |
| API access | endpoint, partner_id, timestamp, response_code | 30 days |
| Dashboard login | user_id, partner_id, timestamp, IP hash | 30 days |
Revenue event guarantee
100% of revenue events are logged. There is no sampling. Every impression that generates revenue has a corresponding audit log entry.
Revenue figures in the dashboard are derived from the same logs used for invoicing — no separate billing database. What you see in the dashboard equals what appears on your invoice (with a ~60-second aggregation delay for live metrics).
Log storage
| Period | Storage | Access |
|---|---|---|
| 0–90 days | PostgreSQL (hot storage) | API + export on request |
| 90 days+ | Archive (planned: cold storage, 7 years) | Export on request |
Logs are partitioned by day and region. Queries are scoped to your partner account — you cannot access other partners’ logs.
Accessing your logs
Dashboard
Go to Reports → Audit Log in your dashboard. Filter by:
- Date range (up to 90 days)
- Supply source
- Demand source
- Event type (auction, impression, win)
Export as CSV for reconciliation.
API
# Publisher-level auction log
GET /api/metrics/publisher/{id}/log?date=2026-02-17&format=csv
X-API-Key: {YOUR_KEY}
# DSP-level win log
GET /api/metrics/dsp/{id}/log?date=2026-02-17&format=jsonBulk export request
For historical exports or compliance requests beyond what the API provides:
- Email [email protected] with your partner ID, date range, and required format (CSV/JSON)
- Standard turnaround: 3 business days
- Encrypted delivery via secure link
Reconciliation
Use the audit log to reconcile dashboard revenue against your records:
- Export impression log for the period (CSV)
- Each row has:
auction_id,timestamp,publisher_id,clearing_price_micros - Sum
clearing_price_micros, divide by 10,000 → total revenue in cents - Compare with your invoice line items
Discrepancies of <1% are normal (timing differences between log write and aggregation). Discrepancies >1%: contact [email protected] with specific auction IDs.
Data access controls
| Who can see logs | What they see |
|---|---|
| Partner admin | All logs for their partner account |
| Supply source user | Logs for their supply source only |
| Demand source user | Logs for their demand source only |
| Praevis support | All logs (for support purposes) |
| Third parties | Never — no cross-partner access |
All log access is itself logged for compliance.
For GDPR data subject requests requiring log inspection, submit via [email protected]. We can search logs by advertising ID or IP hash (IP addresses are hashed before storage — the raw IP is not retained beyond the auction).