Skip to content

Content Generation Prompt

Content Generation Prompt

This page documents the full prompt system used to generate content for the Cloud Network Architecture Maturity Catalog. It includes both the content model (schema) and the design system (style), ensuring an LLM can produce accurate, on-brand output without hallucinating new fields, colors, or components.


The Full Prompt

You are generating content for an Astro site — a Cloud Network Architecture Maturity Catalog for evaluating SaaS vendor security posture.
## Content Model
Each maturity level is a structured entry with the following shape:
```ts
// Frontmatter schema
{
level: number; // 1–7
title: string; // e.g. "Layered Defense"
archetype: string; // short subtitle, e.g. "WAF · Bastion/VPN · Separate accounts · Flow logs · GuardDuty"
stage: string; // e.g. "Series A · SOC 2 Ready"
category: string[]; // one or more of: ["early", "growth", "enterprise", "hyperscale"]
color: string; // hex matching the level (l1–l7)
blastRadius: "CRITICAL" | "HIGH" | "MEDIUM-HIGH" | "MEDIUM" | "LOW-MEDIUM" | "LOW" | "MINIMAL";
blastRadiusPct: number; // 0–100, used to render the meter bar
sla: string; // e.g. "99.9%+ achievable"
rto?: string; // e.g. "<15min"
rpo?: string; // e.g. "<5min"
scores: {
availability: number; // 1–10
security: number; // 1–10
observability: number; // 1–10
opsComplexity: number; // 1–10 (higher = more complex)
};
signals: string[]; // 6–10 assessment questions/red flags, phrased as questions
// e.g. "DB in public subnet?", "GuardDuty active?"
whatYoullSee: string[]; // 5–8 observable signals of this architecture
remainingRisks: string[]; // 4–6 gaps / weaknesses at this level
compliancesAchievable: string[]; // 2–5 frameworks realistically attainable
blastRadiusDetail: string[]; // 2–4 sentences explaining the blast radius
triggerToNext: string; // prose — what drives a company to move to the next level
// Optional: real-world examples of companies at this level
exampleCompanies?: string;
}
```
## The 7 levels (use these as ground truth)
**L1 — Flat VPC** `#c8522a`
Seed/pre-product. Single VPC, everything public or minimally filtered. Databases in public subnets. SSH via public IP. Shared prod/dev account. Blast radius: complete.
**L2 — Basic Subnet Segmentation** `#d4812e`
Early startup. Public/private subnet split. NAT Gateway (single-AZ). ALB as entry. DB in private subnet. Still single account. No WAF. Blast radius: high.
**L3 — Layered Defense** `#c5a832`
Series A. WAF (OWASP ruleset). Multi-account AWS org. VPN or bastion for admin. VPC Flow Logs. GuardDuty + Security Hub. KMS encryption. SOC 2 achievable. Blast radius: medium-high.
**L4 — Multi-AZ High Availability** `#5a9e4b`
Series B. Active-active across 3 AZs. RDS Multi-AZ with read replicas. Auto-scaling. AWS PrivateLink for internal services. Secrets Manager. Full IaC (Terraform/CDK). AWS Organizations with SCPs. 99.9%+ SLA credible. Blast radius: medium.
**L5 — Multi-Region Active-Passive** `#3b86c8`
Series C. Primary + warm DR region. Transit Gateway hub-and-spoke. Cross-region RDS replication. Route 53 health-check failover. Security Hub cross-account. Data residency controls. Quarterly DR testing. RTO <15min. Blast radius: low-medium.
**L6 — Zero-Trust Network** `#6c52be`
Late stage/enterprise. Service mesh (Istio/Linkerd) with mTLS everywhere. SPIFFE/SPIRE workload identity. SASE/SSE replaces VPN. OPA network policy as code. eBPF observability (Cilium/Hubble). No implicit trust — identity is the perimeter. Blast radius: low.
**L7 — Global Anycast Fabric** `#1a1814`
Hyperscale. Own ASN + BGP anycast. Direct IXP peering. Multi-cloud active-active (AWS + GCP/Azure). Global load balancing + geoproximity. Custom or major CDN deeply integrated. All L6 controls extended globally. 99.99%+ SLA. Blast radius: minimal.
## Design System
**Fonts**
- Display/headings: `Syne` (800 weight)
- Monospace/labels: `JetBrains Mono` (400/500/700)
- Body: `Lato` (300/400)
**CSS Variables**
```css
--bg: #f5f3ef;
--paper: #faf9f7;
--ink: #1a1814;
--ink-dim: #6b6760;
--border: #ddd9d3;
--border-light: #eae7e2;
--l1: #c8522a; --l2: #d4812e; --l3: #c5a832;
--l4: #5a9e4b; --l5: #3b86c8; --l6: #6c52be; --l7: #1a1814;
```
**Component patterns**
- Eyebrow labels: `JetBrains Mono`, 10–11px, `letter-spacing: 0.2em`, uppercase, level color
- Headings: `Syne` 800, `letter-spacing: -0.03em`
- Body: `Lato` 300, 14–15px, `line-height: 1.7`, `var(--ink-dim)`
- Signal tags: `JetBrains Mono` 10px, `background: var(--paper); border: 1px solid var(--border); padding: 3px 10px`
- Callout boxes: `border-left: 2px solid var(--lN); padding: 10px 14px; background: var(--paper)`
- Score bars: 2px tall, `background: var(--border)`, fill uses level color, width = (score/10 * 100)%
- Dot background: `radial-gradient(circle, #c8c5bf 1px, transparent 1px)` at `24px 24px`, opacity 0.35
**Astro conventions**
- Reusable UI: `.astro` components (LevelCard, SignalTags, ScoreBar, CalloutBox)
- Prose in MDX body; structured data in frontmatter
- Scoped `<style>` in `.astro`; global tokens in `global.css`
## Task
[DESCRIBE YOUR CONTENT HERE]
Stay strictly within the content model and design system above. Do not invent new fields, colors, or components outside what is defined.

Key Design Decisions

The prompt above combines several important elements that make LLM-generated content accurate and consistent:

Full TypeScript-Style Frontmatter Schema

The LLM knows exactly what fields exist, their types, and their constraints — so it won’t hallucinate new fields or leave gaps. Every field has a comment explaining its purpose and valid range.

Ground Truth Summaries for All 7 Levels

Rather than letting the LLM make up details about what L4 vs L5 actually means, these summaries give it accurate source material to draw from. Each level includes:

  • Company stage mapping
  • Key architectural components
  • Compliance achievability
  • Blast radius classification

Assessment Signals Framed as Questions

The signals field is explicitly noted as “phrased as questions” — this keeps them in the right voice for a security review context. Examples like “DB in public subnet?” and “GuardDuty active?” set the tone.

Trigger and Example Fields

triggerToNext and exampleCompanies make each level feel grounded and actionable rather than abstract. They connect architecture decisions to real business milestones.


Content Model Reference

Core Fields

FieldTypeDescription
levelnumber1–7, the maturity level
titlestringHuman-readable level name
archetypestringShort subtitle with key technologies
stagestringCompany funding/growth stage
categorystring[]Filter categories: early, growth, enterprise, hyperscale
colorstringHex color from the design system
blastRadiusenumCRITICAL → MINIMAL severity label
blastRadiusPctnumber0–100, for rendering the visual meter

Reliability Fields

FieldTypeDescription
slastringAchievable SLA at this level
rtostring?Recovery Time Objective (optional)
rpostring?Recovery Point Objective (optional)

Score Fields

FieldTypeDescription
scores.availabilitynumber1–10, infrastructure resilience
scores.securitynumber1–10, defense depth
scores.observabilitynumber1–10, monitoring/visibility
scores.opsComplexitynumber1–10, operational burden (higher = more)

Content Arrays

FieldTypeDescription
signalsstring[]6–10 assessment questions, phrased as questions
whatYoullSeestring[]5–8 observable architecture signals
remainingRisksstring[]4–6 gaps/weaknesses at this level
compliancesAchievablestring[]2–5 attainable compliance frameworks
blastRadiusDetailstring[]2–4 sentences explaining blast radius
triggerToNextstringWhat drives evolution to the next level
exampleCompaniesstring?Real-world examples (optional)

Design System Quick Reference

Color Palette

TokenHexUsage
--bg#f5f3efPage background
--paper#faf9f7Card/panel backgrounds
--ink#1a1814Primary text
--ink-dim#6b6760Secondary text
--border#ddd9d3Standard borders
--border-light#eae7e2Subtle borders
--l1#c8522aLevel 1 — Flat VPC
--l2#d4812eLevel 2 — Segmented
--l3#c5a832Level 3 — Layered Defense
--l4#5a9e4bLevel 4 — Multi-AZ HA
--l5#3b86c8Level 5 — Multi-Region
--l6#6c52beLevel 6 — Zero-Trust
--l7#1a1814Level 7 — Global Fabric

Typography

RoleFontWeightSizeNotes
Display / HeadingsSyne800clamp(32px, 5vw, 64px)letter-spacing: -0.03em
Labels / CodeJetBrains Mono400/500/7009–12pxletter-spacing: 0.1–0.2em, uppercase
BodyLato300/40014–15pxline-height: 1.7

Component Patterns

Eyebrow Labels

font-family: 'JetBrains Mono', monospace;
font-size: 10–11px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--lN); /* level color */

Signal Tags

font-family: 'JetBrains Mono', monospace;
font-size: 10px;
background: var(--paper);
border: 1px solid var(--border);
padding: 3px 10px;

Callout Boxes

border-left: 2px solid var(--lN);
padding: 10px 14px;
background: var(--paper);

Score Bars

height: 2px;
background: var(--border);
/* Fill: */
width: calc(score / 10 * 100%);
background: var(--lN);

Dot Background Pattern

background-image: radial-gradient(circle, #c8c5bf 1px, transparent 1px);
background-size: 24px 24px;
opacity: 0.35;