A tracked event in a campaign.
| 10 | @dataclass |
| 11 | class TrackingEvent: |
| 12 | """A tracked event in a campaign.""" |
| 13 | campaign_id: str |
| 14 | target_email: str |
| 15 | event_type: str # "open", "click", "submit" |
| 16 | timestamp: datetime = field(default_factory=lambda: datetime.now(timezone.utc)) |
| 17 | ip_address: str | None = None |
| 18 | user_agent: str | None = None |
| 19 | metadata: dict = field(default_factory=dict) |
| 20 | |
| 21 | |
| 22 | class ClickTracker: |
| 23 | """Track and analyze phishing campaign events.""" |
no outgoing calls
no test coverage detected