explaingit

bluntmachetti/synthworld

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

A tool that generates connected, fictional populations of people with an answer key, for testing privacy, entity-matching, and identity software.

Mindmap

mindmap
  root((synthworld))
    What it does
      Fake connected populations
      Ground-truth answer keys
      Deterministic seeds
    Tech stack
      Python
      CLI
    Use cases
      PII extraction testing
      Entity resolution
      Risk scoring
    Audience
      Privacy engineers
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Test whether a privacy or PII-extraction system finds the right facts in generated documents.

USE CASE 2

Benchmark an entity-resolution system against records with realistic name confusion.

USE CASE 3

Score a relationship-inference system against known ground truth.

USE CASE 4

Generate safe, fictional test data instead of using real personal information.

What is it built with?

PythonCLI

How does it compare?

bluntmachetti/synthworld0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultyeasymoderatemoderate
Complexity3/52/54/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Installable via pip, browsing pre-generated benchmarks online needs no install at all.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

SynthWorld is a tool for generating fake but realistic populations of people, complete with family, friend, and coworker connections, for the purpose of testing privacy and identity software. The project explains its role with a simple comparison, a general fake-data generator creates individual rows of information, while SynthWorld creates connected worlds of people along with a hidden answer key describing exactly which facts are true. The generated identities are deliberately made confusing in realistic ways, including people who share common names, use different spellings of the same name, or have nicknames, so that systems being tested have to work through genuine ambiguity rather than clean, easy data. Because everything is generated from a starting seed number, the same command always produces the exact same population, which makes results repeatable and comparable over time. The tool is aimed at teams building or evaluating software that extracts personal information from documents, matches records to the same person, infers relationships between people, or scores how exposed someone's personal data is. It ships as a command line tool that can generate a population of people, generate related test scenarios, and grade a system's output against the hidden answer key using a separate evaluate command. A public, already-generated set of benchmark data is also available to browse online without installing anything. SynthWorld grew out of a companion project called Idcognito but is designed to work as its own independent piece of software. It explicitly does not turn real, sensitive data into anonymized data, it only creates fictional data from scratch. It is written in Python, distributed as a package called idcognito-synthworld, and released under the Apache-2.0 license, which allows free use, modification, and redistribution, including for commercial purposes.

Copy-paste prompts

Prompt 1
Generate a SynthWorld population with 10 personas and show me the identity graph.
Prompt 2
Explain the difference between SynthWorld's public corpus and its evaluator answer key.
Prompt 3
Help me evaluate my entity-resolution system's predictions against SynthWorld's benchmark.
Prompt 4
Show me how to browse the frozen SynthWorld benchmarks on Hugging Face without installing anything.

Frequently asked questions

What is synthworld?

A tool that generates connected, fictional populations of people with an answer key, for testing privacy, entity-matching, and identity software.

What language is synthworld written in?

Mainly Python. The stack also includes Python, CLI.

What license does synthworld use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is synthworld to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is synthworld for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.