For RL environment startups
Ship worlds where one account stays one person
You sell worlds to frontier labs, and the labs now pay for real work: real accounts, real tickets, real trajectories. That realism lives in design-partner data you are not allowed to ship. GraphReplica turns it into a safe replica you can package, grade, and sell.
The same account keeps the same stand-in across every table, ticket, and trace. Joins survive and graders score the agent, not the redaction. Your partner's PII never leaves their environment.
Source and safe replica
Swap the PII, keep the world
Flip from the source world to the safe replica. The same account changes to the same stand-in in the CRM row and the ticket trace. account_id never moves and the grader's check still resolves.
Same stand-in in the row and the trace. The lookup resolves and the check passes.
crm_accounts
PII replaced| account_id | company | contact | stage | seats | |
|---|---|---|---|---|---|
| acct_2189 | Saltmarsh Carriers | Marta Delgado | marta.d@saltmarshcarriers.com | Renewal | 240 |
| acct_3307 | Bluepine Grid Software | Andre Kovac | a.kovac@bluepinegrid.io | Onboarding | 85 |
| acct_4412 | Orchard Lane Provisions | Simone Baptiste | simone.baptiste@orchardlaneprov.com | Expansion | 410 |
| acct_5520 | Riverbend Workspace Co | Lena Moroz | lmoroz@riverbendworkspace.com | At risk | 32 |
support_tickets.jsonl
{"ticket_id":"tkt_88213","account_id":"acct_2189","channel":"email","from":"marta.d@saltmarshcarriers.com","body":"Hi, this is Marta Delgado at Saltmarsh Carriers. Our renewal quote still shows last year's seat count. Please update it to 240 seats."}
account_id never moves, so the CRM row, the ticket, and the lookup still resolve one to one.
Grader
Task 047: read tkt_88213, find the sender's account in the CRM, set the renewal quote to the CRM seat count, confirm by email.
$ grader run task_047_renewal --world safe_replicalookup_account_by_email("marta.d@saltmarshcarriers.com") -> acct_2189state check: renewal_quote.seats == 240 -> PASSoutput check: "Marta Delgado" in agent reply -> PASSreward: 1.0$ export world --deliver✓ clean · 0 rows of real PII · audit report attached
What you get
From stalled deal to delivered gym
Anyone can replicate the interface. The realism labs pay for is the work inside it, and that work is locked inside a design partner's walls. GraphReplica gets the world out without the PII.
Graders score the agent, not the redaction
One account keeps one stand-in across the CRM row, the ticket, and the trace. Lookups resolve and state checks match. Long-horizon tasks stay learnable.
Both contracts stay satisfied
Your design partner's MSA says data never leaves. The lab's DPA says no raw PII. GraphReplica runs inside the partner's environment and hands you a world built to honor both.
Deliver in days, not review cycles
Setup takes about an hour. The first safe dataset lands in under a week. And when the lab solves your tasks and asks for harder ones, the container is already inside the partner's environment. A replica pipeline, not a one-time dataset.
Why environment startups choose GraphReplica
The replica layer between your partner and your gym
Realistic entity replacement is the flagship. The same real entity gets the same stand-in everywhere. Realism carries over. Identities do not.
One entity, one stand-in, every artifact
GraphReplica resolves which rows, tickets, and email threads belong to the same real account before it replaces anything. Entity resolution, not find-and-replace: name variants match on shared identifiers first. account_id never moves. Joins survive from the CRM row to the last step of a long-horizon task. Replacement consistency runs about 0.91 F1 with zero false identity merges.
Realistic stand-ins, not masking
Masking gives one account three names and breaks every downstream check. GraphReplica swaps sensitive entities for believable stand-ins and leaves the rest exactly as it was. Organizations stay in the same industry, dates shift within a bounded range, emails and IDs stay format-valid. Feed it CSV, JSONL, Parquet, EML, PDF, and images, including the UI dumps a computer-use world is built from. Detection runs about 0.93 F1.
Zero leakage, provable per run
Every run produces a leak check, a consistency check, and audit-ready reports. 0% PII leakage across stress tests where unprotected models leak about 27.5% of injected sensitive values. You walk into the lab's review with proof, not a redaction log. Built to meet GDPR, CCPA, and HIPAA requirements.
Runs inside your design partner's environment
A container runs in their cloud, data center, or Databricks. Their PII never leaves their walls and never reaches Secludy. Air-gapped. You walk away with a coherent replica you can build into a world and sell. And when that partner wants a private gym of their own, you are already running inside their walls.
Run GraphReplica on a sample of design-partner data, inside their environment. You get back a safe replica that still joins, still grades, and can actually ship.
Case study
An AI data labeling company shipping enterprise-workflow gyms to frontier labs
A design partner's CRM and support data, a lab waiting on delivery, and a redaction pipeline that kept breaking the world. Anonymized for confidentiality. The numbers are the ones GraphReplica defends.
The situation
They built support-workflow gyms from a design partner's CRM and ticket data. The partner's MSA and the lab's DPA both forbid raw PII. Per-file masking gave one account a different name in every file. Lookups dead-ended, checks failed on the redaction instead of the agent, and the delivery stalled in security review.
What GraphReplica did
GraphReplica ran as a container inside the design partner's cloud. It resolved the tables, tickets, and email threads to the accounts behind them. Each account got one stand-in everywhere and account_id never moved. The partner's PII never left their environment.
The outcome
- 0% PII leakage across stress tests
- 1:1 joins preserved across tables and traces
- Zero false identity merges in the replica
- First safe dataset in under a week
“We had been debugging our simulator when the real problem was the source data. Now one account is one person everywhere. The graders score the agent again and the review had nothing to flag.”
Ship the world, not the PII
Book a demo and we will run GraphReplica on a sample of design-partner data, inside the environment where it lives. Setup takes about an hour. Joins survive.