The systems I design tend to have the same shape: something autonomous needs access to
something sensitive, and the architecture has to make that safe, explainable and operable.
These are the concerns I actually own — the tools underneath them change.
Identity & authorization
Treating AI agents as first-class identities rather than service accounts borrowing a
user's permissions — and passing real user identity through to the data layer instead of
filtering after the fact.
Entra ID · OAuth2/OIDC · ZTNA · workload identity · RLS passthrough
Policy & trust decisions
Zero Trust structured properly: policy administration, decision, enforcement and
information points as separate concerns, with continuous trust scoring instead of a
binary allow/deny.
NIST 800-207 · PAP/PDP/PEP/PIP · adaptive trust scoring
Agentic systems
Multi-agent topologies where domain specialists beat one monolithic agent, with standard
tool protocols so capability is reusable across teams rather than rebuilt per engagement.
MCP · FastMCP · A2A · CrewAI · LangGraph · Semantic Kernel
Retrieval & grounding
Deciding what must stay live versus what can be indexed, and making every answer cite its
source — including domain-aware parsing where generic chunking destroys retrieval quality.
Azure AI Search · hybrid search · semantic models · custom parsers
Governance & observability
The layer above access control: per-agent rate limits, action-scope enforcement, full
decision audit trails, and human escalation above a risk threshold.
OpenTelemetry · per-agent audit · human-in-the-loop gateways
Technical leadership
Setting architecture direction for a team of engineers and data scientists —
architecture reviews, decision records, and the trade-off conversations that precede them.
architecture governance · mentoring · stakeholder alignment