fraudtwin.camouflage#
Fraud camouflage transformations.
Status: Stable
Classes#
Resolved strengths for one generator family and scenario. |
|
Complete, deterministic and hashable M13 configuration. |
Functions#
|
Return a stable per-scenario plan; no data or RNG is mutated. |
|
Resolve global, family, and leaf M13 controls without consuming RNG. |
|
Apply M13 as a post-generation, invariant-preserving transformation. |
Detailed API#
Deterministic camouflage resolution and transformations.
- class fraudtwin.camouflage.CamouflagePlan(**data)[source][source]
Bases:
BaseModelResolved strengths for one generator family and scenario.
- Parameters:
family (str)
scenario (str)
feature_strengths (dict[str, float])
relation_strengths (dict[str, float])
cohort (dict[str, object])
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class fraudtwin.camouflage.ResolvedCamouflage(**data)[source][source]
Bases:
BaseModelComplete, deterministic and hashable M13 configuration.
- Parameters:
enabled (bool)
resolver_version (str)
source_namespace (str | None)
requested (dict[str, object])
resolved_global (dict[str, float])
resolved_families (dict[str, dict[str, object]])
cohort (dict[str, object])
effective_configuration_hash (str)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- fraudtwin.camouflage.apply_camouflage(resolved, family, scenario)[source][source]
Return a stable per-scenario plan; no data or RNG is mutated.
- Return type:
- Parameters:
resolved (ResolvedCamouflage)
family (str)
scenario (str)
- fraudtwin.camouflage.resolve_camouflage(config)[source][source]
Resolve global, family, and leaf M13 controls without consuming RNG.
- Return type:
- Parameters:
config (SimulationRunConfig)
- fraudtwin.camouflage.transform_generated_data(config, entities, profiles, payments, events, ledger_entries, records, memberships, campaigns, patterns, evidence)[source][source]
Apply M13 as a post-generation, invariant-preserving transformation.
- Return type:
tuple[tuple[Payment,...],tuple[PaymentEvent,...],tuple[LedgerEntry,...],tuple[FraudRecord,...],tuple[GraphCampaignMembership,...],tuple[GraphCampaign,...],tuple[GraphPattern,...],tuple[GraphEvidence,...],dict[str,object]]- Parameters:
config (SimulationRunConfig)
entities (EntityDataset)
profiles (tuple[BehaviorProfile, ...])
payments (tuple[Payment, ...])
events (tuple[PaymentEvent, ...])
ledger_entries (tuple[LedgerEntry, ...])
records (tuple[FraudRecord, ...])
memberships (tuple[GraphCampaignMembership, ...])
campaigns (tuple[GraphCampaign, ...])
patterns (tuple[GraphPattern, ...])
evidence (tuple[GraphEvidence, ...])