| from __future__ import annotations | |
| from typing import List | |
| from shield.email_intel import get_email_intelligence | |
| from shield.models.evidence import Evidence | |
| async def collect_email_evidence(email: str | None) -> List[Evidence]: | |
| if not email: | |
| return [] | |
| result = await get_email_intelligence(email) | |
| score = int(result.get("score", 0)) | |
| reasons = result.get("reasons", []) | |
| if not score or not isinstance(reasons, list): | |
| return [] | |
| return [ | |
| Evidence( | |
| source="email_intelligence", | |
| category="identity_risk", | |
| risk_score=score, | |
| weight=0.7, | |
| confidence=0.82, | |
| explanation=str(reason), | |
| ) | |
| for reason in reasons[:5] | |
| ] | |
Xet Storage Details
- Size:
- 746 Bytes
- Xet hash:
- fc86aa460db83ec01487932cda4b2638acd22872e4ea6de11e5bba9fe69f91d3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.