App

Changelog · — A new IP page with IP history, Monocle Health Alerts, AI traffic in Explorer, and edge access tokens.

Assessment Exports

Assessment Exports gives you a file of every Monocle assessment for an application over a date range, one assessment per record. Use it for fraud investigations, compliance checks, risk decisions, or loading Monocle data into your own analytics or data pipeline.

Exports run in the background. When yours is ready, you get an email and can download it from the Spur app.

The Assessment Exports page, with the About cards and the exports table

Assessment Exports requires the Pro plan or above. On other plans, the Assessment Exports tab doesn't appear in your application, and opening the page directly shows an Upgrade plan prompt.


Create an export

  1. In the Monocle dashboard, open your application and go to Assessment Exports.
  2. Select New Export. The Create Assessment Export dialog opens.
  3. Fill in the export's scope:
    • Export name (optional), such as Q4 fraud investigation, up to 200 characters
    • Description (optional), up to 500 characters
    • Date range: Last 7 Days, Last 30 Days, Last 60 Days, Last 90 Days, or a custom range. Days run midnight to midnight UTC, and the range includes both the first and last day, so Last 7 Days covers 8 calendar days, including the part of today that has passed when the export runs. The end date must be after the start date, so the shortest export covers two days.
    • Traffic types: turn on the traffic to include, or leave them all off to include all traffic
  4. Select Queue export.
The Create Assessment Export dialog with a name, a description, a 31-day range and the VPN and Proxied traffic types turned on

An export can contain up to 500 million assessments. A larger one fails, so narrow the date range or traffic types.

Traffic types

Traffic typeWhat it includes
VPNTraffic routed through a VPN provider
ProxiedTraffic routed through a proxy service
AnonymousTraffic identified as anonymous
RDPTraffic from Remote Desktop Protocol sessions
DatacenterTraffic originating from datacenter IPs
AI AgenticTraffic from autonomous AI agents
AI CrawlingTraffic from AI web crawlers

If you turn on more than one, the export includes assessments that match any of them.


Track your exports

Your exports are listed in a table:

ColumnWhat it shows
Export NameThe name you gave it (or Unnamed Export) and the export's ID
DescriptionYour description
Date RangeThe range the export covers
Run TimestampWhen the export was created
StatusQueued, In Progress, Complete or Failed
RowsHow many assessments it contains. While an export runs, this shows progress (matched so far / total).
File SizeThe size of the finished file

Large exports can take a while, and you don't need to keep the page open. The person who created the export usually gets an email when it's complete, or if it fails. If a run is interrupted and marked failed, no email is sent, so check the Status column. A re-run emails whoever selected Re-run, not the original creator.


Download, clone, re-run and delete

Open an export's actions menu (⋯):

The actions menu on a complete export, with Download, Clone and Delete
ActionWhen it's availableWhat it does
DownloadComplete exports, for 90 daysDownloads the file
CloneComplete or Failed exportsOpens the dialog with the same settings, so you can adjust them and queue a new export
Re-runFailed exportsQueues a new export with the same settings. The failed one stays in the list.
DeleteComplete or Failed exportsPermanently removes the export and its file. This can't be undone.

Files expire 90 days after the export is created. After that, Download is unavailable. Clone the export to create a new file.

Each time you select Download, the app creates a fresh download link that's valid for 15 minutes.


File format

An export is a gzip-compressed file of newline-delimited JSON (.ndjson.gz). Each line is one assessment. Here's one record, formatted for reading:

json
{
"id": "…",
"ts": "2026-09-30T14:02:11Z",
"sid": "…",
"ip": "203.0.113.24",
"cc": "US",
"vpn": true,
"proxied": false,
"anon": true,
"rdp": false,
"dch": false,
"ai_agentic": false,
"ai_crawling": false,
"ai_operator": "",
"complete": true,
"service": "PROTON_VPN",
"cpd": ""
}
FieldTypeMeaning
idstringThe assessment ID
tstimestamp (RFC 3339)When the assessment was made
sidstringThe name of your Monocle application
ipstringVisitor IP address
ccstringVisitor country (ISO code)
vpnbooleanTraffic came through a VPN
proxiedbooleanTraffic came through a proxy
anonbooleanTraffic is anonymous
rdpbooleanTraffic came from a remote desktop session
dchbooleanTraffic came from datacenter or hosting infrastructure
ai_agenticbooleanTraffic came from an AI agent
ai_crawlingbooleanTraffic came from an AI crawler
ai_operatorstringThe AI operator, when Spur identifies one. Empty otherwise.
completebooleanWhether the Monocle process completed fully. false means a higher chance of a false positive or negative.
servicestringThe VPN or proxy service tag Spur identified, if any
cpdstringCustomer-provided data you passed in when loading Monocle, truncated after 1,024 characters

To read it:

terminal
gunzip -c export.ndjson.gz | head -3
gunzip -c export.ndjson.gz | jq -r 'select(.anon) | .ip' | sort -u

  • Assessment: the assessment object and its fields
  • Explorer: investigate traffic in the app before exporting