Skip to content
FlowScript templates

Privacy-aware analytics architecture

Model approval, minimisation and disclosure checks as distinct components. Typed FlowScript for software architecture. Keywords: C4, container, system context, architecture.

Template previewFlowScript
Illustrative Privacy-aware analytics architectureC4 — container view · Architecture working groupAnalyst[user]SYSTEM BOUNDARYEDGECOREDATAQuery gateway[Container: Browser or edge client]EDGEPolicy evaluator[Container: Stateless service]COREDe-identification worker[Container: Background worker]COREAggregate engine[Container: Durable worker]COREDisclosure checker[Container: Application service]CORERestricted source data[Datastore: postgres]DATAPolicy and access log[Datastore: object-store]DATAAnalyst → Query gateway

What this template contains

Source
52 lines

Make it your own.

// Model approval, minimisation and disclosure checks as distinct components.
// Synthetic worked example: all entities, schedules and measurements are illustrative.
// Every string below is EXAMPLE text from a fictional model: replace it.
// Replace assumptions and inputs before applying this model to actual work.

system platform {
  title: "Illustrative Privacy-aware analytics architecture"
  owner: "Architecture working group"
}

actor user {
  title: "Analyst"
  kind: "user"
  depends: [s0]
}

service s0 {
  title: "Query gateway"
  runtime: "Browser or edge client"
  tier: "edge"
  depends: [s1]
}

service s1 {
  title: "Policy evaluator"
  runtime: "Stateless service"
  tier: "core"
  depends: [d1]
}

service s2 {
  title: "De-identification worker"
  runtime: "Background worker"
  tier: "core"
  depends: [d0]
}

service s3 {
  title: "Aggregate engine"
  runtime: "Durable worker"
  tier: "core"
  depends: [s2]
}

service s4 {
  title: "Disclosure checker"
  runtime: "Application service"
  tier: "core"
  depends: [s3]
}

datastore d0 {
  title: "Restricted source data"
  kind: "postgres"
}

datastore d1 {
  title: "Policy and access log"
  kind: "object-store"
}

view architecture: c4_container(platform)