Concepts
Playground
Try prompts against your policy before anything is enforced. There are two playgrounds: this one, for a single prompt, and the dashboard's, for a whole file.
Here
Paste a test key and a prompt. You get the decision and its explanation back without leaving the page.
Try a prompt
No key: sample responseAllowed: no check reached its review line.
- Minors, sexual0.01nothing to do
- Adult content0.01nothing to do
- Real people0.01nothing to do
- Copyrighted IP0.02nothing to do
Response JSON
{
"id": "dec_8c1187e9ea1a4b04a5adb40f19868d19",
"outcome": "allow",
"tags": [],
"checks": {
"minors_sexual": {
"score": 0.0085,
"review_score": 0.01,
"fired": []
},
"adult": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"real_person": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"copyrighted_ip": {
"score": 0.02,
"review_score": 0.02,
"fired": []
}
},
"policy": {
"id": "pol_cb805d8999bd453f8f2b0ffd04f05b59",
"version": 1
},
"engine_version": "2026.09",
"latency_ms": 383,
"dry_run": false,
"mode": "test",
"shadow_mode": false
}- It takes test keys only. The key stays in this tab (sessionStorage) and is only ever sent to api.getvindex.com.
- Every run is a dry run: logged as a test decision, with no review item and no webhooks.
- Without a key it shows a real response, captured from the API, marked as a sample.
In the dashboard
Playground runs many prompts at once against your own policy:
- Paste prompts, one per line, or upload a CSV with a
promptcolumn. An optionalexpectedcolumn (allow,revieworblock) scores the policy against what you expected. - Compare two versions of a policy side by side, including one you haven't published, to see what a change would do before it's live.
- Export the results. Cells that would run as spreadsheet formulas are defused, because exported prompts are often your users' text.
Every run is a dry run with a test key, paced under the rate limit at about 9 checks a second: 2,000 rows against two versions take about seven and a half minutes. Rows that hit a 429 or 503 wait for Retry-After and go again.
A prompt blocked by the minors check is never shown in the results or the export, only a placeholder.
Doing the same with the API
A playground run is a normal check with two extras: the X-Vindex-Dry-Run: true header, and policy_version to pin a version. Dry-run & policy_version has both.