DEV Community

Arslon Erkinov
Arslon Erkinov

Posted on

AI Phishing Defense Platform Day 14

Day 14 completed — AI Phishing Defense Platform

I’m building an enterprise-ready phishing detection platform focused on real-world security, not demos.

What’s already implemented:
• API-first architecture with API keys
• Rate limiting & abuse protection
• Multi-layer URL analysis (heuristics + AI scoring + reputation)
• Explainable threat reports (human-readable & technical)
• Usage analytics and observability mindset

This project is designed with a security-first approach:
• No implicit trust in user input
• Explainable verdicts for audit & compliance
• Monitoring for false positives, latency, and abuse

Goal: build a real-world security platform that could operate at scale for developers, SOC teams, and businesses.

More coming soon — Day 15 will focus on detection depth and explainability.

Хэштег#CyberSecurity Хэштег#AI Хэштег#Phishing Хэштег#Django Хэштег#SecurityEngineering Хэштег#Startup Хэштег#OpenToWork

Top comments (5)

Collapse
 
shin4141 profile image
Shin

This looks solid — especially the emphasis on explainable verdicts and abuse monitoring.
One thing I’m curious about: how do you handle high-stakes but ambiguous cases?
Do you ever introduce a “delay” or secondary review step when confidence is low but impact is high?

Collapse
 
cyberb0x profile image
Arslon Erkinov

Great question — thank you for raising it.

I consider ambiguous cases to be the most critical ones.

Since the project is currently under active development, I am designing the decision-making process as a multi-stage pipeline from the very beginning. In scenarios where model confidence is low but the potential impact is high, a final verdict is intentionally not issued immediately.

Instead, I plan to:

apply confidence-based thresholds, marking such results as suspicious or needs review

introduce additional correlation steps using external signals (behavioral patterns, domain reputation, change history)

support delayed verdicts or soft-blocking rather than irreversible hard decisions

The goal is to minimize both false positives and the risk of missing real threats, especially in enterprise-grade use cases.

That is why I focus not only on detection accuracy, but also on explainability and controllability, ensuring that human operators can always understand and, if necessary, override the system’s decision.

Collapse
 
shin4141 profile image
Shin

That makes a lot of sense — especially treating ambiguity as a first-class case rather than forcing a premature verdict.

One thing I find interesting in multi-stage designs like this is that
“delay” itself becomes a safety primitive, not just a fallback.

In practice, the hardest failures I’ve seen weren’t false positives or false negatives,
but cases where a system was forced to collapse uncertainty into a single irreversible decision.

Out of curiosity, do you think your pipeline could remain stable
if individual stages were evaluated or triggered out of order?
In other words, is the safety behavior invariant to execution order,
or does it rely on a specific sequence of stages?

Thread Thread
 
cyberb0x profile image
Arslon Erkinov

That’s a great observation — I completely agree that delay itself can act as a safety primitive, not just a fallback.

In the current design, I try to avoid safety guarantees that depend strictly on a single fixed execution order. Instead, each stage is designed to be locally safe and to expose its own confidence and assumptions, rather than collapsing uncertainty too early.

That said, the pipeline is not fully order-agnostic. Some stages intentionally act as gating mechanisms (for example, confidence thresholds or reputation-based checks), because certain signals are meant to reduce the blast radius before more expensive or higher-impact analysis runs.

The goal is that reordering stages may affect latency or cost, but should not turn a safe outcome into an unsafe one. Hard, irreversible actions are deliberately postponed until enough independent signals converge.

I’m still iterating on this, but the guiding principle is that uncertainty should be preserved and propagated through the system for as long as possible — and only collapsed when the risk is well understood.

Thread Thread
 
shin4141 profile image
Shin

This is a really strong principle — especially the idea that reordering may change
latency or cost, but should not flip a safe outcome into an unsafe one.

I like how you treat “delay” as a first-class safety outcome rather than a fallback.
In my experience, the most serious failures happen when uncertainty is forced to
collapse too early into an irreversible decision.

I’m curious how you think about validating this invariant in practice:
do you test stage permutations or partial-order execution to ensure that safety
remains monotonic, even as signals are added or reordered?

It feels like ambiguous, high-impact cases are where this design really matters.