Inspiration
I have worked in Enterprise Identity Management for several years but found that managing Identities in my personal life is even more complicated. This has become worse with social media and the recent breaches. Unfortunately, most privacy tools produce a flat list of alarming findings, but rarely show how those findings connect or how trustworthy each conclusion is.
I have tried to create this app several times, in an earlier version I tried to cover too much before it had realistic test data, measurable ground truth, or an honest end-to-end harness. And for this hackathon with gpt-5.6 I rebuilt from first principles around a simpler idea: people should be able to see their digital exposure as a connected evidence graph, and every product claim should be testable without using anyone’s real personal data.
What it does
Idcognito helps people see, understand, and shrink their digital exposure. Its centerpiece is the Exposure Graph, which connects identity attributes to breach records, broker listings, search results, social profiles, and evidence-backed relationships. Selecting a node reveals its supporting evidence, while one-hop expansion shows related people without presenting those connections as confirmed facts. A calibrated risk index explains which breach factors matter. Cleanup Copilot converts findings into a prioritized, user-approved review queue. GPT‑5.6 powers one deliberately bounded feature: Evidence Review. It examines the evidence already attached to a selected observation and returns an advisory verdict likely relevant, likely a collision, or insufficient evidence—along with citations, uncertainty, and a suggested human review step. It cannot confirm identity ownership, alter the graph or risk score, or claim remediation has been completed.
The shared judge build uses unmistakably synthetic data and performs no live real-person, HIBP, or Bright Data lookups.
## How we built it
We began with SynthWorld, our open-source deterministic generator and benchmark for synthetic identities, relationships, and planted exposure ground truth. Its seeded corpus includes breach, broker, search, and social records, along with deliberate name collisions and zero-exposure controls. Every analytical feature therefore has a known answer instead of merely producing a plausible-looking demo.
Idcognito uses a FastAPI and SQLAlchemy backend with a PostgreSQL adapter, plus a React, TypeScript, Vite, and react-force-graph-2d frontend. The judge deployment uses a deterministic in-memory adapter. Every external dependency sits behind a port, making the zero-key synthetic implementation a first-class path rather than a special demo branch.
GPT‑5.6 is integrated through one EvidenceReviewer port using the OpenAI Responses API, strict structured output, store=false, bounded input, explicit uncertainty, one attempt, and sanitized failures. The public judge deployment uses the equivalently shaped deterministic golden adapter so shared credentials cannot consume API credits.
Codex served as the autonomous engineering collaborator. It worked tranche by tranche from Mechanically checkable specifications: writing analytical assertions before implementations, running and repairing the complete quality gates, inspecting browser screenshots, packaging the Render deployment, auditing the standalone SynthWorld release, and producing the submission-video pipeline.
## Challenges we ran into
The hardest problem was distinguishing evidence from identity ownership. Names, employers, usernames, and locations overlap, so a convincing result can still concern the wrong person. We addressed this with planted collision controls, physically separated answer keys, evidence provenance, and language that keeps observations explicitly unverified.
We also had to make the model useful without allowing it to become an authority. That required a strict output contract, supplied-evidence-only citations, prompt minimization, idempotent review retrieval, explicit limitations, and tests for invented evidence, unsafe actions, information leakage, and ownership claims.
Finally, we had to resist overstating live-provider readiness. Our current HIBP plan lacks the entitlement required for the privacy-preserving live proof. Instead of weakening the gate, the deployed submission remains honestly synthetic while the provider adapters are tested through strict contracts and deterministic replay.
Accomplishments that we’re proud of
We delivered a coherent deployed experience containing a populated Exposure Graph, evidence-backed one-hop connections, calibrated risk explanations, a user-approved Cleanup Copilot, and bounded Evidence Review.
The exact submission build passes 1,655 Python tests and 43 frontend tests with 100% reported statement, branch, function, and line coverage, zero test skips, and zero quarantines.
We have already received requests to collaborate on the Synthworld project (which was meant to be a test tool).
Against our controlled synthetic benchmark:
- The golden Exposure Graph contains 20 nodes and 32 evidence-backed edges.
- One-hop expansion adds exactly two people and two supported connections.
- Entity resolution scores all 153 adversarial record pairs with no false merge or split.
- Evidence Review covers 62 golden and 692 generated cases, including deliberate collision controls.
- Measured accuracy, citation, uncertainty, prompt-minimization, and provenance rates are 1.0, while prohibited-claim and leakage rates are 0.0.
We also published SynthWorld v0.7.0 (https://github.com/bluntmachetti/synthworld/releases/tag/v0.7.0) as a standalone Apache-2.0 project on GitHub and PyPI so other privacy and entity-resolution projects can build against reproducible synthetic ground truth.
What we learned
Ground truth should be product infrastructure, not something added after a feature is built. Connected personas, planted exposures, deliberate collisions, and zero-exposure controls exposed problems that isolated fixtures never could.
We learned that uncertainty and provenance improve the product experience rather than weakening it. Showing why a result exists and what remains unknown is more useful than presenting a confident but unauditable conclusion.
We also found that AI was most useful when given one narrow, measurable responsibility. Keeping GPT‑5.6 advisory and schema-bound made its contribution testable, constrained its authority, and allowed the same interface to support a deterministic zero-cost judge experience.
What’s next for Idcognito
First, we will complete the consented live-provider milestone without weakening its exit criteria: privacy-preserving HIBP and Bright Data validation against an operator-controlled throwaway identity when the required entitlement is commercially sensible.
Next comes Broker Removal 2.0: user-reviewed removal letters, lifecycle tracking, opt-in reappearance monitoring, search mitigation, and guided dormant-account cleanup.
The event deployment is intentionally an early synthetic-only build. Production work still includes durable multi-tenant hosting, stronger authentication and recovery, abuse controls, and careful real-person onboarding. The core rule will remain unchanged: every finding must lead back to evidence, and every consequential cleanup action remains under human control.
We will also playaround a lot more with Synthworld, maybe test to see what a world with agents each with a synthetic identity but connected looks like, we have identified several other usecases and plan to expand it over the next few weeks
Built With
- codex
- docker
- fastapi
- gpt-5.6
- penai
- playwright
- postgresql
- python
- react
- render
- responses-api
- sqlalchemy
- typescript
- vite
Log in or sign up for Devpost to join the conversation.