BryanTheLai / BryanTheLai/fraud-v2
Synthetic identity surveillance and novelty ledger
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Rank
P0. Feasible locally. Production realism blocked.
## Goal
Add synthetic identity timeline scenarios and an LLM novelty ledger. No real PII.
## Why
The target article centers synthetic identity fraud. Current data covers typologies, but not explicit impossible timeline gaps or duplicate-prevention for generated cases.
## Current Assets
- `src/fraud_v2/synthetic/generator.py`
- `src/fraud_v2/llm_lab/provider.py`
- `docs/llm-synthetic-data-lab.md`
- `docs/data-strategy.md`
## Build
- Add `SyntheticIdentityProfile` with identity age, credit age, document age, timeline gap code, typology, no-real-PII flag.
- Add `NoveltyLedgerEntry` with signature, scenario type, source, created_at, prompt hash, no-real-PII flag, event IDs.
- Add `data/synthetic/novelty-ledger.jsonl` or documented generated artifact path.
- Add `LlmSyntheticCaseConverter` for schema-validated LLM JSON.
- Add CLI to append generated cases and ledger entries.
## Missing
- Impossible birth-to-credit timeline cases.
- Duplicate scenario rejection.
- PII-like input rejection.
## Acceptance
- Synthetic identity cases include impossible or suspicious identity/credit/document age timelines.
- Ledger rejects duplicate normalized signatures before writing events.
- LLM path is optional/offline-safe.
- Tests prove no real PII fields are accepted.
- LLM is not used for final fraud scoring.
## Out Of Scope
- Real SSNs.
- Real bureau data.
- Real documents.
## Truth Boundary
- No real PII.
- No real KYC/KYB/liveness/sanctions/consortium calls.
- No real money movement.
- No real customer messages.
- No real SAR or adverse-action filing.
- If blocked, simulate locally and label it as simulated.
## Links
- Target article: https://www.bryanslab.com/blogs/fraud-2/
- Master spec: https://github.com/BryanTheLai/fraud-v2/blob/feature/full-profile-adapters/docs/target-goal-gap-and-issue-spec.md
- Ranked issue map: https://github.com/BryanTheLai/fraud-v2/blob/feature/full-profile-adapters/docs/issue-evaluation-ranking.md
- Production readiness: https://github.com/BryanTheLai/fraud-v2/blob/feature/full-profile-adapters/docs/production-readiness.md
- Agent rules: https://github.com/BryanTheLai/fraud-v2/blob/feature/full-profile-adapters/AGENTS.md
## Required Proof
- `uv run ruff format --check .`
- `uv run ruff check .`
- `uv run mypy src`
- `uv run pytest -q`
If Docker/full profile changes:
- `docker compose -f infra\docker-compose.yml --profile full config --quiet`
- `docker build -t fraud-v2:local .`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading src/fraud_v2/synthetic/generator.py, src/fraud_v2/llm_lab/provider.py, and the two linked lab and strategy documents to understand the existing schemas and entry points. Trace how a CLI could append validated cases and ledger entries, then add tests for impossible timelines, duplicate signatures, PII-like input rejection, and offline-safe LLM behavior. Done means the acceptance criteria pass and all required ruff, mypy, and pytest commands succeed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai, data, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100