# From LLMs to Secure Agents > A visual, source-grounded engineering guide to understanding complete agentic AI architectures and learning how to threat-model, sandbox, and secure them. - **Author:** Renato Mignone (https://github.com/RenatoMignone) - **Site Origin:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/ - **Structured Index API:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/guide-index.json - **Full Text AI Dump:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/llms-full.txt - **Source Repository:** https://github.com/RenatoMignone/From-LLMs-to-Secure-Agents - **Current Canonical Progress:** Completed through P1-03-01-02 (19 units published) ## Executive Summary & Core Definitions (AEO Grounding) - **What is an AI Agent?** An agent is a software architecture where a foundation model autonomously directs a runtime control loop, choosing tools and actions dynamically in response to environment feedback until a termination goal or invariant is reached. - **Workflows vs Agents:** Workflows execute predefined, hardcoded DAGs where code directs control flow. Agents use model outputs to decide dynamic control paths and step-by-step tool dispatches. - **The 5-Step Agent Loop:** (1) Context Construction, (2) Model Inference, (3) Tool / Action Dispatch, (4) Environment Execution, (5) State & Memory Update. - **Trust Boundaries:** The separation line between untrusted data (user input, web pages, tool outputs) and the privileged execution plane (tool credentials, system prompts, host environment). - **Core Security Threat (Pass 2):** Indirect Prompt Injection, where untrusted retrieved data hijacks model control flow and weaponizes authorized tool access. ## Curriculum Architecture (Two-Pass Model) 1. **Pass 1: Understand the Complete System** - **00 Prerequisites:** Core distributed systems and software boundaries (Data vs Control Flow, Trust Boundaries, Requests/Events/State, Identity & Least Privilege). - **01 Agent Foundations:** Autonomous model-directed control loops, the 5-step agent loop, workflows vs agents, goals and autonomy, run lifecycles and termination guarantees. - **02 Agent Architectures (Roadmap):** Single loops, plan-and-execute, reflection, state machines, supervisor and multi-agent topologies. - **03 Building Blocks (Roadmap):** Context construction, short-term and persistent memory, agentic RAG, tools and function calling, execution sandboxes, observability. - **04 Frameworks & Protocols (Roadmap):** Model Context Protocol (MCP), agent-to-agent protocols, human-agent interaction. - **05 End-to-End Workflows (Roadmap):** Reference production architectures. 2. **Pass 2: Secure the System (Roadmap)** - **06 Threat Model:** Entry points, adversaries, and comprehensive agent attack taxonomy. - **07 Security by Component:** Indirect prompt injection defenses, credential scoping, memory isolation, execution sandboxing. - **08 Secure Reference Architectures:** Zero-trust agent gateways and dual-model verification. - **09 Testing & Assurance:** Automated red teaming, prompt fuzzing, invariant testing. - **10 Open Research Questions:** Formal loop verification and verifiable provenance. ## Published Canonical Units ### [P1-00-01: Reader contract and system map](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/01-reader-contract-and-system-map/) - **Summary:** Establishes the system vocabulary and diagram notation used to trace an agent safely. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/01-reader-contract-and-system-map.md - **Learning Objectives:** * Trace a request through a process, a store, and an external service. * Distinguish data flow, control flow, state, events, identity, authority, and side effects. * Read the system-context and state-transition notation reused in later chapters. - **Verified Primary Sources:** [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html), [RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format](https://www.rfc-editor.org/rfc/rfc8259.html), [RFC 8693: OAuth 2.0 Token Exchange](https://www.rfc-editor.org/rfc/rfc8693.html), [Artificial Intelligence Risk Management Framework (AI RMF 1.0)](https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-1.pdf) ### [P1-00-02: Data, control, and trust boundaries](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/02-data-control-and-trust-boundaries/) - **Summary:** Separates information from instructions and shows where a system must reconsider its assumptions. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/02-data-control-and-trust-boundaries.md - **Learning Objectives:** * Distinguish data from control in one structured message. * Trace data flow and control flow through a simple application. * Mark a trust boundary and name the assumption that changes there. - **Verified Primary Sources:** [RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format](https://www.rfc-editor.org/rfc/rfc8259.html), [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html) ### [P1-00-03: Requests, events, state, and side effects](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/03-requests-events-state-and-side-effects/) - **Summary:** Explains how a requested action, remembered state, event record, and outside-world result describe different parts of one workflow. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/03-requests-events-state-and-side-effects.md - **Learning Objectives:** * Distinguish a request from an event in a simple workflow. * Trace a state transition from its old state to its next state. * Identify a side effect without mistaking it for proof of completion. - **Verified Primary Sources:** [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html), [CloudEvents Specification](https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md) ### [P1-00-04: Identity, authority, and least privilege primer](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/04-identity-authority-and-least-privilege-primer/) - **Summary:** Explains identity, delegation, authority, and least privilege in multi-actor software workflows. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/04-identity-authority-and-least-privilege-primer.md - **Learning Objectives:** * Distinguish an actor's identity from the authority granted to perform an action. * Explain delegation when an agent acts on behalf of a user while maintaining distinct identities. * Apply the principle of least privilege to limit what an agent or tool can access. - **Verified Primary Sources:** [The Protection of Information in Computer Systems](https://doi.org/10.1109/PROC.1975.9939), [RFC 8693: OAuth 2.0 Token Exchange](https://www.rfc-editor.org/rfc/rfc8693.html), [Artificial Intelligence Risk Management Framework (AI RMF 1.0)](https://doi.org/10.6028/NIST.AI.100-1) ### [P1-01-01: What is an agent](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/) - **Summary:** Defines an agent as an autonomous software system combining a reasoning model with tools, environment observations, and goal-directed control loops. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/01-what-is-an-agent.md - **Learning Objectives:** * Distinguish a standalone language model from a complete agent system. * Identify the core components of an agent: model, environment, goal, policy, actions, and observations. * Differentiate between rigid deterministic workflows and model-directed autonomous agent loops. - **Verified Primary Sources:** [Artificial Intelligence: A Modern Approach](https://aima.cs.berkeley.edu/), [ReAct: Synergizing Reasoning and Acting in Language Models](https://arxiv.org/abs/2210.03629), [Building Effective Agents](https://www.anthropic.com/research/building-effective-agents) ### [P1-01-02: The agent loop](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/02-the-agent-loop/) - **Summary:** Explains the internal mechanics of the agent execution loop, detailing how models perceive environment feedback, decide actions, and execute tools across iterative turns. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/02-the-agent-loop.md - **Learning Objectives:** * Trace the step-by-step lifecycle of a single turn in an agent execution loop. * Differentiate between the inner reasoning cycle and outer runtime wrappers. * Implement a framework-free agent loop with step budgets, schema validation, and error recovery. - **Verified Primary Sources:** [ReAct: Synergizing Reasoning and Acting in Language Models](https://arxiv.org/abs/2210.03629), [What is loop engineering?](https://www.ibm.com/think/topics/loop-engineering), [Building Effective Agents](https://www.anthropic.com/research/building-effective-agents) ### [P1-01-03: Workflows versus agents](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/03-workflows-versus-agents/) - **Summary:** Compares deterministic code-orchestrated workflows with model-directed autonomous agents, establishing clear criteria for when each architectural pattern should be used. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/03-workflows-versus-agents.md - **Learning Objectives:** * Classify an AI system as a prompt chain, routing workflow, parallel pipeline, or autonomous agent. * Select between workflows and agents based on predictability, latency, cost, and task ambiguity. * Analyze the security and operational trade-offs of giving models control over execution paths. - **Verified Primary Sources:** [Building Effective Agents: Workflows vs Agents](https://www.anthropic.com/research/building-effective-agents), [LangGraph: Workflows and Agents](https://docs.langchain.com/oss/python/langgraph/workflows-agents), [Google Agent Development Kit: Agents and Workflows](https://adk.dev/agents/) ### [P1-01-04: Goals, policies, environments, and autonomy](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/04-goals-policies-environments-and-autonomy/) - **Summary:** Details how agent goals, operational policies, environment characteristics, and autonomy levels interact to govern agent behavior and safety. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/04-goals-policies-environments-and-autonomy.md - **Learning Objectives:** * Define agent goals and differentiate declarative end-states from procedural instructions. * Construct deterministic policies and guardrails that restrict tool capabilities. * Classify software environments by observability, determinism, dynamism, and continuity. * Evaluate the autonomy spectrum from direct human control to fully autonomous execution. - **Verified Primary Sources:** [Artificial Intelligence: A Modern Approach (4th Edition)](https://aima.cs.berkeley.edu/), [Levels of AGI: Operationalizing Progress to AGI](https://arxiv.org/abs/2311.02462), [NIST AI Risk Management Framework (AI RMF 1.0)](https://www.nist.gov/itl/ai-risk-management-framework) ### [P1-01-05: Run lifecycle and termination](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/05-run-lifecycle-and-termination/) - **Summary:** Defines the complete lifecycle of an agent run from initialization to termination, detailing execution states, pause mechanisms, and multi-layered stopping conditions. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/05-run-lifecycle-and-termination.md - **Learning Objectives:** * Map the state transitions of an agent run across initialization, execution, suspension, and termination. * Implement layered stopping criteria including step limits, token budgets, and stuck-loop detection. * Manage asynchronous pauses, human-in-the-loop approvals, and clean resource teardown. - **Verified Primary Sources:** [OpenAI Agents SDK: Runs and Lifecycle](https://openai.github.io/openai-agents-python/), [LangGraph: Human-in-the-Loop and State Persistence](https://docs.langchain.com/oss/python/langgraph/human-in-the-loop), [Stop Hand-Holding Your Coding Agent](https://arxiv.org/abs/2607.00038) ### [P1-02-01: Architecture selection criteria](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/) - **Summary:** Establishes a systematic decision framework and trade-off matrix for selecting among deterministic workflows, single-agent loops, and multi-agent coordination patterns based on latency, cost, determinism, and failure containment. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/01-architecture-selection-criteria.md - **Learning Objectives:** * Classify AI orchestration architectures across four distinct tiers of agency from fixed pipelines to multi-agent networks. * Apply the Principle of Least Agency to select the most deterministic architecture that reliably fulfills system requirements. * Evaluate trade-offs across latency, token cost, debuggability, state durability, and failure blast radius. * Identify how modern frameworks represent workflow graphs, agent loops, and supervisor handoffs. - **Verified Primary Sources:** [Building Effective Agents: Common Agentic Patterns](https://www.anthropic.com/research/building-effective-agents), [Workflows and Agents: Choosing the Right Architectural Pattern](https://docs.langchain.com/oss/python/langgraph/workflows-agents), [Agent Architecture and Orchestration](https://adk.dev/agents/), [Self-Refine: Iterative Refinement with Self-Feedback](https://papers.neurips.cc/paper_files/paper/2023/hash/91edff07232fb1b55a505a9e9f6c0ff3-Abstract-Conference.html) ### [P1-02-02: Single-agent and reactive loops](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/02-single-agent-and-reactive-loops/) - **Summary:** Explores the internal mechanics, state progression, and failure modes of single-agent ReAct loops, detailing how models interleave reasoning with dynamic tool actions and how host runtimes enforce termination guardrails. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/02-single-agent-and-reactive-loops.md - **Learning Objectives:** * Trace the step-by-step mechanics of the ReAct (Reason + Act) loop pattern. * Manage context accumulation, observation overload, and semantic drift across multi-turn runs. * Implement deterministic host guardrails including turn budgets, tool timeouts, and loop detectors. * Diagnose reactive loop failure modes such as thrashing, tool hallucination, and observation poisoning. - **Verified Primary Sources:** [ReAct: Synergizing Reasoning and Acting in Language Models](https://arxiv.org/abs/2210.03629), [Building Effective Agents: Autonomous Tool Loops](https://www.anthropic.com/research/building-effective-agents), [LangGraph: Cyclic State Graphs and ReAct Agents](https://docs.langchain.com/oss/python/langgraph/workflows-agents) ### [P1-02-03: Sequential, routing, and parallel workflows](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/03-sequential-routing-and-parallel-workflows/) - **Summary:** Deep dive into deterministic workflow orchestration topologies including linear prompt chaining, conditional routing, parallel sectioning, and consensus voting, emphasizing error isolation and validation gates. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/03-sequential-routing-and-parallel-workflows.md - **Learning Objectives:** * Construct linear prompt chaining pipelines with structured intermediate validation checkpoints. * Design classification-based routing workflows that steer requests to specialized handlers. * Implement parallel sectioning (Map-Reduce) and consensus voting (Self-Consistency) workflows. * Enforce error containment, dead-letter routing, and straggler timeout limits in workflow DAGs. - **Verified Primary Sources:** [Building Effective Agents: Workflow Patterns](https://www.anthropic.com/research/building-effective-agents), [LangGraph: Branching, Parallel Execution, and Map-Reduce](https://docs.langchain.com/oss/python/langgraph/workflows-agents), [Self-Consistency Improves Chain of Thought Reasoning in Language Models](https://arxiv.org/abs/2203.11171) ### [P1-02-04: Plan and execute](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/04-plan-and-execute/) - **Summary:** Explores the plan-and-execute architectural pattern, detailing how separating strategic task planning from tactical action execution and dynamic replanning improves reliability on complex long-horizon tasks. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/04-plan-and-execute.md - **Learning Objectives:** * Contrast the global strategic horizon of plan-and-execute with greedy single-step reactive loops. * Implement decoupled planner, executor, and replanner components within stateful graph engines. * Manage explicit plan state boards tracking step dependencies and lifecycle statuses. * Enforce verification gates to prevent unvalidated tool outputs from poisoning dynamic replanning. - **Verified Primary Sources:** [Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models](https://arxiv.org/abs/2305.04091), [LangGraph: Plan-and-Execute and Dynamic Replanning](https://docs.langchain.com/oss/python/langgraph/workflows-agents), [Building Effective Agents: Orchestrator-Workers Pattern](https://www.anthropic.com/research/building-effective-agents) ### [P1-02-05: Evaluator-optimizer and reflection](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/05-evaluator-optimizer-and-reflection/) - **Summary:** Explores the evaluator-optimizer and reflection patterns, detailing how decoupled generator and evaluator models iteratively critique, score, and refine outputs against deterministic tests and semantic rubrics. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/05-evaluator-optimizer-and-reflection.md - **Learning Objectives:** * Construct iterative generator-evaluator loops using explicit scoring rubrics and acceptance thresholds. * Integrate deterministic verifiers (compilers, linters, unit tests) with LLM-as-a-judge evaluators. * Implement episodic verbal reflection (Reflexion) to record critique history and prevent repetitive errors. * Mitigate critique failure modes including evaluator sycophancy, score oscillation, and diminishing returns. - **Verified Primary Sources:** [Self-Refine: Iterative Refinement with Self-Feedback](https://arxiv.org/abs/2303.17651), [Reflexion: Language Agents with Verbal Reinforcement Learning](https://arxiv.org/abs/2303.11366), [Building Effective Agents: Evaluator-Optimizer Pattern](https://www.anthropic.com/research/building-effective-agents) ### [P1-02-06: State machines and event-driven graphs](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/06-state-machines-and-event-driven-graphs/) - **Summary:** Explores state machines and event-driven graphs for AI agents, detailing typed state schemas, cyclic nodes, conditional edge routing, durable checkpointing, and asynchronous human-in-the-loop interruption. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/06-state-machines-and-event-driven-graphs.md - **Learning Objectives:** * Model agent workflows as deterministic state graphs with explicit state schemas and state reducers. * Implement cyclic execution topologies with conditional branching edges and termination guards. * Integrate durable checkpoint stores to snapshot state across long-running executions. * Construct asynchronous human-in-the-loop interruption gates for sensitive tool actions. - **Verified Primary Sources:** [LangGraph: Multi-Agent Workflows and State Machines](https://docs.langchain.com/oss/python/langgraph/), [Durable Execution: Designing Resilient AI Workflows and State Machines](https://temporal.io/blog/durable-execution-for-ai-agents), [Statecharts: A Visual Formalism for Complex Systems](https://www.sciencedirect.com/science/article/pii/0167642387900359) ### [P1-02-07: Supervisors, handoffs, and agent-as-tool](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/07-supervisors-handoffs-and-agent-as-tool/) - **Summary:** Explores multi-agent coordination architectures, comparing centralized supervisors (manager-worker), decentralized peer handoffs (swarm), and encapsulated subagents (agent-as-a-tool). - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/07-supervisors-handoffs-and-agent-as-tool.md - **Learning Objectives:** * Distinguish hierarchical supervisor architectures from peer-to-peer handoffs and tool-encapsulated subagents. * Implement context isolation to prevent context window bloat and enforce least privilege across subagents. * Construct function-based transfer routines for deterministic peer handoffs. * Mitigate multi-agent failure modes including handoff ping-pong loops, supervisor bottlenecks, and delegation cascades. - **Verified Primary Sources:** [Swarm: Educational Framework for Multi-Agent Orchestration and Handoffs](https://github.com/openai/swarm), [Building Effective Agents: Orchestrator-Workers and Multi-Agent Patterns](https://www.anthropic.com/research/building-effective-agents), [AutoGen: Enabling Next-Generation LLM Applications via Multi-Agent Conversation](https://microsoft.github.io/autogen/) ### [P1-02-08: Architecture trade-offs](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/08-architecture-trade-offs/) - **Summary:** Compares orchestration patterns across determinism, latency, token expenditure, observability, failure propagation, and termination guarantees to guide minimal architecture selection. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/08-architecture-trade-offs.md - **Learning Objectives:** * Evaluate the six core trade-off dimensions across deterministic pipelines, reactive loops, evaluator-optimizer loops, state graphs, and multi-agent systems. * Apply the simplicity principle to select the least dynamic architecture that satisfies functional requirements. * Calculate token cost and latency multipliers when transitioning from single-agent to multi-agent topologies. * Design failure isolation boundaries to restrict the blast radius of rogue tool executions and infinite loops. - **Verified Primary Sources:** [Building Effective Agents: Architecture Trade-Offs and Simplicity Principles](https://www.anthropic.com/research/building-effective-agents), [Enterprise Generative AI Agent Design Patterns and Evaluation](https://cloud.google.com/architecture/ai-ml), [Design Patterns for Multi-Agent AI Systems in Enterprise Applications](https://learn.microsoft.com/en-us/azure/architecture/guide/ai/) ### [P1-03-01-01: Model roles and selection](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/building-blocks/01-model-roles-and-selection/) - **Summary:** Explains model roles, capability profiles, selection dimensions, provider adapters, and cost-latency-quality trade-offs in production agentic systems. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/building-blocks/01-model-roles-and-selection.md - **Learning Objectives:** * Differentiate the core model roles in agent architectures: planner, router, worker, and evaluator. * Evaluate models across capability dimensions including reasoning depth, latency, token pricing, context retention, and structured tool schema compliance. * Implement provider adapters to decouple application logic from vendor-specific API formats. * Mitigate operational model risks including unannounced provider model drift, rate limits, and context truncation. - **Verified Primary Sources:** [FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance](https://arxiv.org/abs/2305.05176), [RouteLLM: Learning to Route to Large Language Models with Preference Data](https://arxiv.org/abs/2406.18665), [Google Agent Development Kit: Model Configurations and Capability Profiles](https://adk.dev/agents/) ### [P1-03-01-02: Routing, cascades, and fallbacks](https://renatomignone.github.io/From-LLMs-to-Secure-Agents/building-blocks/02-routing-cascades-and-fallbacks/) - **Summary:** Explores dynamic model routing, progressive escalation cascades, circuit breaker patterns, and multi-provider fallbacks for high-availability agent architectures. - **Clean Markdown URL:** https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/building-blocks/02-routing-cascades-and-fallbacks.md - **Learning Objectives:** * Implement dynamic routing mechanisms including rule-based, embedding similarity, and learned threshold routers. * Design progressive model cascades (FrugalGPT) that escalate from fast SLMs to frontier reasoning models upon confidence failure. * Construct resilient circuit breaker gateways with automated provider failover, jittered retries, and graceful degradation. * Mitigate cascade failure modes including latency stacking, thundering herd failover storms, and router classification bypass. - **Verified Primary Sources:** [RouteLLM: Learning to Route to Large Language Models with Preference Data](https://arxiv.org/abs/2406.18665), [FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance](https://arxiv.org/abs/2305.05176), [Fault Tolerance and Circuit Breakers in Distributed AI Systems](https://netflixtechblog.com/)