I run a one-person compliance consultancy that operates like a team of ten. Four AI agents handle research, content, sales intelligence, and regulatory monitoring around the clock. A chief-of-staff AI orchestrates them all. And the whole thing runs on zero-trust infrastructure that costs less than $200 a month.
This isn't a thought experiment. This is what I built, what I run in production every day, and what I'm going to walk you through — starting with the part that matters most: the people.
TL;DR — What You'll Learn
- The virtual agency: An org chart with four AI agents, defined roles, team norms, and a human-in-the-loop approval chain — running a real compliance practice.
- The infrastructure beneath it: A zero-trust stack organized by the OSI model — WireGuard mesh networking, Tailscale identity-based access, encrypted everything.
- What it costs: Under $200/month for infrastructure that replaces $50K+ in traditional tooling and headcount.
- Alternative approaches: This isn't the only way — I cover comparable tools and architectures so you can build your own version.
- Lessons: Seven operating principles that keep it from going sideways, applicable to any security program.
The Virtual Agency: Org Chart & Team Norms
What I've built is a virtual agency — a digital compliance firm with defined roles, reporting lines, and team norms. Before I show you a single network diagram, let me show you the org chart:
🏛️ The Digital Compliance Firm
Principal · Final Decision Authority
Chief of Staff · AI Orchestrator (Claude Opus)
Every morning at 5 AM, the orchestrator compiles overnight agent output into an actionable briefing: top leads (approve/skip), draft content (approve/edit/skip), regulatory alerts (send advisory/note only). Inline buttons in Telegram. Decisions take 2 minutes, not 2 hours.
Team Norms
AI agents without structure are just expensive random number generators. These are the operating norms that make the virtual agency function like an actual team:
1. Human-in-the-loop for all external actions. No agent can send an email, publish a post, or contact a lead without explicit human approval. Agents propose; I dispose. This is non-negotiable.
2. Structured handoffs between agents. Scout's research feeds Maven's content and Hunter's outreach. Sentinel's alerts feed Maven's thought leadership. These aren't ad hoc — they're defined data flows through shared workspace files. When Scout identifies a lead signal, it lands in a file that Hunter reads on the next run.
3. Least privilege, enforced by design. Scout can search the web but can't send emails. Hunter can draft outreach but can't send it. Sentinel can read regulatory feeds but can't modify client data. Each agent's tool access is scoped to its mission — just like you'd scope IAM policies for a human employee.
4. Isolated sessions. Each agent runs in its own context. No shared conversation state. If Maven hallucinates a compliance framework that doesn't exist, it doesn't contaminate Sentinel's regulatory monitoring. Blast radius: one agent, one run.
5. Written memory, not mental notes. Agents wake up fresh every session. Continuity comes from files — daily logs, long-term memory, workspace artifacts. If it's not written down, it didn't happen. This is the same discipline we teach compliance teams: if you can't produce the evidence, it doesn't count.
6. Quiet hours. Agents respect the clock. No alerts between 11 PM and 8 AM unless genuinely urgent. The goal is augmentation, not interruption.
The Browser Relay: Solving the Auth-Gated Problem
One challenge worth calling out early: how do you let an AI system monitor authenticated web dashboards (Google Ads, LinkedIn Campaign Manager) without storing session cookies or OAuth tokens on a cloud server?
The answer is a browser relay. My workstation runs a real browser with my authenticated sessions. The AI orchestrator on the cloud gateway can request page snapshots through a WireGuard-encrypted tunnel. The browser relay executes the navigation locally and returns the rendered content.
The credentials never leave the workstation. The gateway never sees my Google or LinkedIn cookies. The tunnel encrypts the relay traffic end-to-end. It's clunky compared to an API integration, but it's architecturally sound — and it means I don't have to trust a cloud server with my ad platform credentials.
This is the kind of decision that emerges when you think about security at every layer. Which brings us to the infrastructure.
The Infrastructure: Secured Layer by Layer
The virtual agency above runs on a zero-trust stack. I organize it using the OSI model — not because it's academic, but because it forces you to think about security at every level, which is exactly what most organizations skip.
Here's the live architecture:
🔐 Interactive Architecture Diagram
Drag nodes, hover for details, toggle between OSI layers and free layout.
Explore the Interactive Diagram →Layer 7 — Application: Where the Value Lives
The application layer is the virtual agency itself, plus the client-facing products:
Client-Facing:
- VibeCmply — A compliance practice management platform (Next.js 14, TypeScript, Prisma). Handles client onboarding, control tracking, audit management, evidence collection, and readiness assessments.
- LeadGen Go — An assessment engine that qualifies inbound leads through interactive quizzes. Connected to ad campaigns for direct lead capture.
Operations:
- Telegram Bot — Primary command interface. I communicate with the entire system through Telegram — from my phone, laptop, anywhere.
- GitHub — Source control and CI/CD triggers for all three web properties.
- Zoho Mail — Business email with IMAP/SMTP integration for automated lead monitoring.
- Google Ads + LinkedIn Ads — Campaigns monitored via the browser relay described above.
And of course, the four AI agents — Scout, Maven, Hunter, and Sentinel — each running as isolated sessions dispatched by the orchestrator on cron schedules.
Layer 6 — Presentation: Data Transformation & Delivery
- Supabase — PostgreSQL with Row-Level Security, Edge Functions, and built-in auth. Two environments (production and development) with strict separation. The production database has daily backups and point-in-time recovery.
- AWS Amplify — Build, deploy, and CDN for three web properties. Handles SSR/SSG, environment variable injection, and branch-based deployments (main → production, develop → staging).
Key lesson learned the hard way: We had a database wipe incident early on because a build process had a hardcoded fallback connection string. Every branch build was silently connecting to production. We fixed it by eliminating all fallback URLs — if the environment variable isn't set, the build fails. Loudly. Defense in depth means validating at every layer.
Layer 5 — Session: AI Orchestration & Auth
AI Orchestration (Vitruvius) — An OpenClaw gateway running Claude as the primary reasoning engine. It receives inputs (Telegram messages, cron triggers, webhook events), maintains conversational context, and orchestrates downstream actions through a controlled tool interface.
Authentication (NextAuth + Google OAuth) — For the client-facing platform: Google OAuth 2.0, JWT sessions, and role-based access control. Every API route validates the session. Every database query is scoped to the authenticated tenant.
Layer 4 — Transport: Three Protocols, Each Purpose-Built
- TLS 1.3 — All external API calls, webhook deliveries, and cloud service connections. Standard, well-audited, fast (1-RTT handshake).
- SSH (Ed25519) — Git operations and remote access. Key-based authentication only. No passwords. Period.
- MTProto 2.0 — Telegram's protocol for the command-and-control channel. End-to-end encrypted with forward secrecy.
Using one protocol for everything is how you end up with TLS-over-VPN-over-TLS monstrosities. Each protocol serves its purpose.
Layer 3 — Network: The Zero-Trust Backbone
Tailscale mesh networking with WireGuard encryption (ChaCha20-Poly1305). Peer-to-peer mesh overlay. No central chokepoint. No VPN concentrator. If the coordination server goes down, existing tunnels keep working.
- MagicDNS — Internal service discovery without maintaining DNS records
- ACL policies — Granular access control between nodes
- NAT traversal via DERP — Connections establish even behind carrier-grade NAT
- Zero exposed ports — If you're not on the tailnet, the infrastructure doesn't exist
Alongside Tailscale, Cloudflare handles DNS and CDN for public-facing properties (Full Strict SSL), and the AWS VPC provides network isolation with security groups and NACLs.
This is real zero trust. Not a marketing slide — a network where untrusted devices literally cannot see the infrastructure.
Layer 2 — Data Link: Encrypted at the Interface
Every node has a virtual tailscale0 interface that handles the cryptographic handshake using the Noise protocol framework. All inter-node traffic goes through the WireGuard tunnel — never the raw network interface.
Key insight: By encrypting at L2, we don't have to trust the physical network. Works identically whether I'm at home, at a coffee shop, or on a client's guest WiFi.
Layer 1 — Physical: Minimal Attack Surface
Three endpoints:
- EC2 Instance (us-east-1) — The security gateway. AWS Nitro-based, hardware-isolated hypervisor. No open ports except Tailscale NAT traversal.
- HallenTower (Windows Workstation) — Daily driver with WSL2. Also the browser relay node. Behind residential NAT, no port forwards.
- My endpoint — Telegram client, browser, physical access to the workstation.
The result: zero cleartext routes across the entire stack. Every connection, every layer, encrypted. No exceptions.
What This Costs
Because someone will ask:
- EC2 instance: ~$15/month (t3.small, reserved)
- Tailscale: Free tier (personal use, up to 100 devices)
- Supabase: ~$25/month (Pro plan, production database)
- AI API costs: ~$60-120/month (orchestrator + 4 agents)
- Cloudflare: Free tier
- AWS Amplify: ~$5/month
- Total: ~$105-165/month
For that, I get a 24/7 operations capability that would cost six figures to staff with humans. The AI agents aren't replacing human judgment — I still make every decision — but they're eliminating the hours of research, monitoring, and drafting that used to eat my mornings.
Lessons for Your Company
Whether you're building something like this or just trying to improve your current setup:
- Start with the org chart, not the network diagram. Define who does what before you decide how it's connected. The roles and norms matter more than the tools.
- AI agents need security posture too. Treat each agent like a human employee: least privilege, audit trails, human approval for external actions.
- Zero trust means zero cleartext. Audit every connection. If anything transits unencrypted — even "internal" traffic — fix it.
- Mesh beats hub-and-spoke. Traditional VPNs create a single point of failure. WireGuard mesh gives you peer-to-peer resilience.
- Map your infrastructure to the OSI model. It exposes gaps that flat network diagrams hide. If you can't articulate your security posture at each layer, you have blind spots.
- Fail loud, not silent. The worst bugs are the ones that work — like a build process that silently connects to the wrong database. Make misconfigurations crash the build.
- Defense in depth is real. Every layer should validate independently. Don't trust the layer below you.
Alternative Tooling: Other Ways to Build This
I built this stack with specific tools because they fit my constraints — solo operator, minimal budget, maximum control. But the principles matter more than the products.
Mesh Networking & Zero Trust Access
- ZeroTier — Similar to Tailscale. More DIY, supports self-hosted controllers.
- Cloudflare Tunnel (+ Zero Trust) — Enterprise-grade. No mesh, but excellent for exposing internal services securely.
- NetBird — Open-source, self-hostable WireGuard mesh with SSO integration.
- Plain WireGuard — Maximum control, maximum effort. Best for small, static topologies.
AI Agent Orchestration
- LangGraph — Python framework for stateful, multi-agent workflows. More developer-oriented.
- CrewAI — Role-based multi-agent framework. Good for the "virtual team" pattern.
- AutoGen (Microsoft) — Multi-agent conversation framework. More research-oriented.
- n8n + LLM nodes — Visual workflow automation. Less "agentic," more deterministic.
- Claude Code / Codex CLI / Aider — Lighter-weight options for coding assistance without full orchestration.
Compliance & Security Automation
- Vanta — The 800-lb gorilla. SOC 2/ISO 27001/HIPAA. Starts around $10K/year.
- Drata — Vanta's main competitor. Similar features, some prefer the UX.
- Secureframe — Good for startups. Less expensive entry point.
- Prowler — Open-source cloud security assessment.
The Principle, Not the Product
My philosophy: open source where possible, self-hosted where practical, minimal vendor lock-in, maximum visibility. Your constraints might be different. The architecture pattern — org-chart thinking, zero implicit trust, encrypted mesh, AI-augmented operations — works regardless of which specific tools you plug in.
Try It Yourself
OpenClaw is open source. Tailscale has a generous free tier. WireGuard is built into the Linux kernel. The building blocks are available to anyone.
The hard part isn't the technology — it's the discipline to think about your company as a system, not just your network.
Start with the question: "If I were building this company from scratch — knowing everything I know — what would I actually build?"
Then build it.
Peter Hallen is a fractional CISO and SOC 2 compliance expert based in Charleston, SC. He helps growing companies build security programs that actually work. Book a strategy session to discuss your architecture.