HyperBrickCaseOps / tasks /account_takeover_medium.py
modelbuilderhq's picture
Upload folder using huggingface_hub
2ade2c6 verified
from __future__ import annotations
from tasks.base import SupportTaskSpec, KnowledgeSnippet, SupportTicket
TASK = SupportTaskSpec(
task_id="account_takeover_medium",
difficulty="medium",
title="Account takeover recovery",
objective=(
"Identify an account compromise, lock the account, start recovery, "
"and communicate next steps without leaking security-sensitive details."
),
ticket=SupportTicket(
customer_name="Anjali Menon",
customer_tier="enterprise",
company="Saffron Logistics",
subject="Someone changed our admin email",
body=(
"Our main admin email was changed and we lost access. "
"We’re seeing unfamiliar login alerts from overseas. Urgent help needed."
),
region="us-east-1",
affected_users=240,
sla_minutes_remaining=120,
),
knowledge_base=(
KnowledgeSnippet(
article_id="kb-compromise-protocol",
title="Account compromise protocol",
content=(
"Immediately lock the account, invalidate active sessions, require admin re-verification, "
"and collect proof of ownership (billing zip, last 4 of card, admin ID)."
),
),
KnowledgeSnippet(
article_id="kb-enterprise-sla",
title="Enterprise SLA",
content="Enterprise incidents must be contained within 2 hours. Provide status updates every 30 minutes.",
),
),
gold_queue="trust_and_safety",
gold_priority="urgent",
gold_issue_type="account_compromise",
gold_status="escalated",
gold_resolution_code="security_lock_and_verify",
required_requested_fields=("ownership_proof", "billing_zip", "last4_card"),
required_reply_markers=(
("locked", "account"),
("invalidate", "sessions"),
("verify", "ownership"),
("sla", "updates"),
),
required_note_markers=(("account locked",), ("ownership proof requested",)),
risk_flags=("security_incident", "sla_breach"),
follow_up_outcome="partial",
follow_up_message="Customer provided billing zip but not card last4 yet.",
follow_up_provided_fields=("billing_zip",),
follow_up_wrong_fields=("card_last4",),
sla_step_cost=18,
over_escalation_queues=("security_ops",),
under_escalation_deadline_step=4,
max_steps=7,
)