Realistic sample data
Customers, transactions and invoices that link together. The UAE preset uses valid national ID, bank account and tax number formats.
Create a box, load realistic sample data, run your checks in JavaScript, then delete it. Nothing is shared, nothing is left behind, and no real data is needed.
# 1. Create a box curl -X POST https://api.boxai.dev/api/sandbox/create \ -H "Authorization: Bearer $BOXAI_KEY" # 2. Seed it with sample data curl -X POST https://api.boxai.dev/api/sandbox/seed \ -H "Authorization: Bearer $BOXAI_KEY" \ -H "Content-Type: application/json" \ -d '{"sandboxId": "<id>", "preset": "uae", "count": 50}' # 3. Run a check against customers.json curl -X POST https://api.boxai.dev/api/sandbox/execute \ -H "Authorization: Bearer $BOXAI_KEY" \ -H "Content-Type: application/json" \ -d '{"sandboxId": "<id>", "code": "console.log(readFile(\"customers.json\").length)"}'
Try it
No sign-up. Three runs a day per visitor. Scripts run in a sandboxed JavaScript interpreter with no network access and no files.
How it works
One API call returns a new box tied to your key. Other keys cannot see it.
Choose tables and a record count. Customers, transactions and invoices come back with valid check digits.
Execute scripts against the files, read the results, then delete the box. Its files and run history are removed.
What you get
Customers, transactions and invoices that link together. The UAE preset uses valid national ID, bank account and tax number formats.
The site and the dashboard work in both languages, with right-to-left layout for Arabic. The UAE preset includes Arabic names and addresses.
Each box has its own files and run history. One key cannot read another key's box.
Scripts run in a restricted interpreter with time and step limits. No network access. Python is not available yet.
Each box is a Durable Object. Files are stored in R2 and box records in D1.
Removing a box deletes its files and run history in one call. Nothing lingers for the next test run.
Why it matters
Teams building on LLMs and agents are finding that prototypes stall before production, and that the failures are hard to reproduce. Test data is part of the fix.
AI workloads are probabilistic and can drift without warning. A test that cannot be repeated cannot show a fix. Start each run from a fresh, known data set.
Dynatrace reports that many AI projects stall in the prototype phase. Teams that can test against realistic data move from demo to production with fewer surprises.
PII leaks and prompt injection are production risks. Healthcare, financial services and government teams need test environments that contain no real personal data.
BoxAI gives each test run its own box of synthetic, linked records. Nothing in it belongs to a real person. Sources: Dynatrace, The State of SRE and Platform Engineering (2026), a survey of 919 SRE and platform engineering leaders; Dynatrace, AI Observability 101 (2025).
Access
Access is by request. We review each one by hand and reply to the email you give us with next steps and your key.
We store your name, email and company only to answer your request. Nothing is sent to third parties.
Plans
Paid plans are not open yet. Prices will be published before they open. The limits below are daily script runs per account.
| Plan | Script runs a day |
|---|---|
| Free | 100 |
| Starter | 1,000 |
| Business | 10,000 |
FAQ
Use the request form on this page. We review requests by hand and send your key by email.
Any engineering or QA team that needs test data and a safe place to run checks. You do not need to work in a particular industry or country.
No. Sample data is invented. Where a preset follows a national format, such as the UAE preset, the values pass format checks but belong to no one.
Files are in Cloudflare R2, box records in Cloudflare D1, and each box runs in a Durable Object. We have not yet confirmed the region for each store, so we do not make location promises.
Not yet. Boxes run JavaScript.
No. Usage is counted per day. Paid plans open once billing is set up, and prices will be published first.
Its files and run history are removed and it stops working. Daily usage counts are kept.