ScenarioLoom

Private test data. Reproducible scenarios. Clear answer keys.

Runs entirely in your browser
Free · up to 1,000 data records per exported file Plans & account · Pro US$99/month

Build test data with context. Generate related records, or explore AML, screening, ownership and trade scenarios with separate answer keys. About the tool & use cases →

Keep the work on your device. Generation and scoring run locally in your browser. Take a complete offline copy into your own environment. Learn about running locally →

1Synthetic bank

Ordinary customers get everyday activity: salaries, rent, bills, card spending, ATM use, transfers to friends, and business sales, suppliers and payroll. Planted scenarios get their own customers, mixed into the same data. The threshold defaults to about US$10,000 in local currency. Change it to match your rules.

1Screening dataset

A fictional watchlist of people, companies, banks, vessels and test locations. Payments mix planted matches with legitimate look-alikes and ordinary activity. No live sanctions lists are downloaded.

1Ownership case pack

Evaluation profiles

Curated fictional cases for testing ownership and control detection. Expectations use dated US, EU and UK guidance profiles. They do not assess real companies or give permission to process a payment.

1Trade-finance case pack

Linked companies, banks, invoices, shipments, letters of credit and payment draws. Reference prices, ports and screening restrictions are fictional test fixtures. Goods-classification cases request review; an HS code alone does not establish a legal restriction.

Credit documents export as structured JSON/CSV/SQL records. They are not SWIFT MT700 messages or bank-ready instruments.

1Schema

    Accepts SQL CREATE TABLE (PostgreSQL, MySQL, SQLite, SQL Server), TypeScript interfaces, or a JSON sample.

    2Settings

    Countries for people and addresses

    3Tables and columnsScenariosScreening casesOwnership casesTrade cases

    Small datasets regenerate as you edit. Use Generate for larger runs.

    Size guidance

    Each case produces registry, ownership, control, designation and payment records. expected_ownership and case_catalog contain the separate answer key. Post-designation disposals with incomplete facts remain review cases.

    Compare invoices with the supplied reference prices and business scope, link draws to shipments, and check the fictional screening records. Documented premium prices, installments and transshipment are legitimate controls. expected_trade_alerts and trade_labels form the separate answer key.

    Fields to test

    Name variants

    BICs, vessel numbers and test-city matches use exact identifiers. Name fields also test aliases, spelling, accents and paired Chinese name forms. expected_matches is the separate answer key; keep it away from your screening system.

    4Output

    Payment XML targets base pacs.008.001.08 batches. Watchlist exports use OFAC formats with explicit fictional test markers. Network-specific envelopes and usage rules are separate.

    Compare your monitoring alerts

    Load your system's alerts as JSON or CSV and compare them with this generated dataset's answer key. Files stay in your browser. Maximum 10 MB and 100,000 alert records.

    Generate AML data, then choose an alert file.

    Understands your schema

    Column names, types, lengths, NOT NULL, UNIQUE, enums and CHECK … IN lists are all respected. Foreign keys are followed, and inferred when you leave them out.

    Rows that fit together

    Each person's name, email, phone, city and time zone match. An order ships to its customer's city, is created after the customer signed up, and copies the product's price.

    Reproducible and private

    The same seed always gives the same data, so tests stay stable. Nothing you paste leaves your browser, and a share link carries the whole setup.