Diagrams

How NorthStar reaches modelsYour organisation · on-premisesApproved cloudHTTPSConfidential workCleared onlyAdmin keyNorthStar DesktopEvery deskNorthStar Admiral ServerSign-in, licences, gatewayNorthStar SkipperOn-premises modelsAdmiral ConsoleOperatorsCloud modelsWhen policy allows

Explaining the invisible

Our products are systems: desks, servers, models, agents and people, connected by rules about where data may go. Diagrams make those systems visible. They should be as calm and precise as the products.

Every North diagram, in a slide, a proposal, product documentation or a whiteboard export, uses the same small set of shapes, lines and colours. A reader who has seen one North diagram can read them all.

  • One message per diagram. Write the takeaway as the title. If you need two messages, draw two diagrams.
  • Flow in reading direction. Left to right (right to left in Arabic), or top to bottom. Never in all directions at once.
  • Twelve nodes at most. Group, or split into an overview and a detail.
  • Shapes mean things. A shape or colour is only used for its defined meaning, and every diagram with more than three element types carries a legend.
  • No decoration. No shadows, gradients, 3D, clip art or tilted perspective.

Elements

Ten node types cover almost everything. Shape tells the reader what something is; the accent tells them who acts.

North diagram elementsRequest / data flowPrimary pathHighlighted flowAsync, optional, conditionalDependency, referenceAI actionService / stepExternalPerson / roleData storeAI agentHuman approvalDecisionStart / endInstances× nNoteContext, not flow
ElementShapeUse for
Service / stepRectangle, 8px radius, white fill, 1.5px Midnight 60 borderSystems, services, components, process steps
External systemRectangle, Dune 05 fillAnything we don't own: customer systems, third-party services, cloud providers
Person / rolePill, Dune 05 fill, person iconUsers, operators, analysts, organisations
Data storeCylinderDatabases, file stores, knowledge indexes, archives
AI agent / modelRectangle with a 3px Oasis 70 accent bar on the leading edgeAgents, models, anything where AI acts
Human approvalRectangle with a 3px Dawn 60 accent barA step where a named person reviews, approves or decides
DecisionDiamond, label as a questionBranches in a flow. Label outgoing lines Yes / No
Start / endPill filled Midnight 90, white textThe single entry and exit of a flowchart
InstancesUp to three offset rectangles (6px)Many of the same thing: desks, lens agents, replicas. Put the count in the subtitle: “× 6”
NoteDune 10 shape with a folded corner, caption textContext that is not part of the flow

Connectors

Lines carry meaning

  • Orthogonal routing only: horizontal and vertical segments with 8px rounded elbows. No diagonals, no curves.
  • Arrowheads: one filled 8px head at the receiving end. Two heads only for genuinely two-way exchanges; never on both ends “to be safe”.
  • Connect to the middle of a side. When two lines meet one side, offset them by 16–20px.
  • Avoid crossings. Move nodes first; if a crossing is unavoidable, let the less important line pass behind.
  • Labels: 12px caption colour, sentence case, on the line with a canvas-coloured halo. Use verbs or protocols: “Signs in”, “HTTPS”, “Every 15 min”.
LineMeans
Solid 1.5pxRequest, call or data flow
Solid 2.5px Midnight 90The primary path, the one to remember
Solid 2.5px Gulf 70A highlighted flow (one per diagram)
Dashed 6 4Asynchronous, optional or conditional
Dotted 1.5 4Dependency, reference, configuration
Solid Oasis 70An action taken by AI

Containers

Zones, groups and outlines

  • Zone: a trust or residency boundary, such as on-premises, a customer network or a classified enclave. Oasis 05 fill, Oasis 70 dashed border, 24px radius.
  • Group: things that belong together but share no boundary, such as modules or a team. Dune 10 fill, no border, 16px radius.
  • Outline: a set of external or optional things, such as approved cloud providers. No fill, dashed Midnight 60 border, 16px radius.
  • Label containers top left in 12px bold capitals (the microtitle style), 16px from the edges.
  • Nest at most two levels deep. Leave 24px between a container edge and the nodes inside it.
Groups and stacksNorthStar Desktop modulesFans outMaiAssistantShaheenAnalysisEmailsModuleLens agents× 6, run in parallel

Colour in diagrams

Diagrams are mostly Midnight, white and Dune. Colour appears only with these four meanings, so readers learn them once:

ColourMeaningToken
OasisAI acts here: agent and model accents, AI connectors--n-diagram-ai
DawnA person decides here: approval and review steps--n-diagram-human
GulfThe highlighted flow you want the reader to follow--n-diagram-flow
Oasis zoneA trust or residency boundary--n-diagram-zone

Status colours (red, amber, green) are only for state: a failed check, a blocked path. Always with a label. Every role has a light and a dark value; see the token list below.

Text, icons and logos

  • Node titles: Helvetica Now Text Medium 14px. Subtitles and captions: Text Regular 12px in the caption colour. One line each; two lines at most.
  • Use exact product names: “NorthStar Admiral Server”, never “Admiral srv” or “NS”.
  • Icons: one 20px icon from the North library per node, on the leading edge. Icons support the label; they never replace it.
  • Third-party logos: only inside external-system nodes, 20px high, one-colour Midnight (Snow on dark) unless the owner requires full colour. Never stretch or recolour them.
  • North logos don't go inside diagrams. Our products are named in text; the slide or page already carries the logo.
  • Numbered steps: 20px Midnight circles with white numbers, only when the order really matters.

Flowcharts

A flowchart has one start, one end, questions in diamonds and labelled branches. Loops return along the top or bottom, dashed when they are the exception.

Shaheen analysis loopYesNo, reviseStartPlanIntake agentApproved?Specialists runLens agentsValidateDensity, sourcesHuman reviewAnalyst locks chapterDeliver

Sequence diagrams with Mermaid

Diagrams as code

For documentation, write diagrams as code with Mermaid and the North theme. They version with the docs, render in the NorthStar Help Center (Docusaurus) and stay on brand automatically.

This diagram is rendered live with the theme below, and follows the hub's light or dark mode.

%%{init: {"theme":"base","themeVariables":{"fontFamily":"\"Helvetica Now Text\", Helvetica, Arial, sans-serif","fontSize":"14px","background":"#FFFFFF","primaryColor":"#FFFFFF","primaryBorderColor":"#3D4870","primaryTextColor":"#1B223D","secondaryColor":"#FFF9F3","secondaryBorderColor":"#3D4870","secondaryTextColor":"#1B223D","tertiaryColor":"#FAF2E8","tertiaryBorderColor":"#3D4870","tertiaryTextColor":"#1B223D","lineColor":"#3D4870","textColor":"#1B223D","mainBkg":"#FFFFFF","nodeBorder":"#3D4870","clusterBkg":"#F0FDFD","clusterBorder":"#1A98B3","titleColor":"#1B223D","edgeLabelBackground":"#FFFFFF","noteBkgColor":"#FAF2E8","noteBorderColor":"#FAF2E8","noteTextColor":"#1B223D","actorBkg":"#FFF9F3","actorBorder":"#3D4870","actorTextColor":"#1B223D","actorLineColor":"#3D4870","signalColor":"#1B223D","signalTextColor":"#1B223D","labelBoxBkgColor":"#FAF2E8","labelBoxBorderColor":"#3D4870","labelTextColor":"#1B223D","loopTextColor":"#58628A","activationBkgColor":"#F0FDFD","activationBorderColor":"#1A98B3","sequenceNumberColor":"#FFFFFF"},"themeCSS":".node rect, .node .label-container { rx: 8px; ry: 8px; } .cluster rect { rx: 16px; ry: 16px; stroke-dasharray: 6 4; stroke-width: 1.5px; } .edgePath .path, .flowchart-link { stroke-width: 1.5px; } .edgeLabel { font-size: 12px; } .node .label { font-weight: 500; }"} }%%
flowchart LR
  start([Start]) --> plan[Plan]
  plan --> ok{Approved?}
  ok -- Yes --> spec[[Specialists run]]
  ok -. No .-> plan
  spec --> val[Validate] --> rev[Human review] --> done([Deliver])
  subgraph perimeter [On-premises]
    val
    rev
  end

In Docusaurus, set the theme once in docusaurus.config.ts instead of in every diagram:

themeConfig: {
  mermaid: {
    theme: { light: 'base', dark: 'base' },
    options: {
      "themeVariables": {
        "fontFamily": "\"Helvetica Now Text\", Helvetica, Arial, sans-serif",
        "fontSize": "14px",
        "background": "#FFFFFF",
        "primaryColor": "#FFFFFF",
        "primaryBorderColor": "#3D4870",
        "primaryTextColor": "#1B223D",
        "secondaryColor": "#FFF9F3",
        "secondaryBorderColor": "#3D4870",
        "secondaryTextColor": "#1B223D",
        "tertiaryColor": "#FAF2E8",
        "tertiaryBorderColor": "#3D4870",
        "tertiaryTextColor": "#1B223D",
        "lineColor": "#3D4870",
        "textColor": "#1B223D",
        "mainBkg": "#FFFFFF",
        "nodeBorder": "#3D4870",
        "clusterBkg": "#F0FDFD",
        "clusterBorder": "#1A98B3",
        "titleColor": "#1B223D",
        "edgeLabelBackground": "#FFFFFF",
        "noteBkgColor": "#FAF2E8",
        "noteBorderColor": "#FAF2E8",
        "noteTextColor": "#1B223D",
        "actorBkg": "#FFF9F3",
        "actorBorder": "#3D4870",
        "actorTextColor": "#1B223D",
        "actorLineColor": "#3D4870",
        "signalColor": "#1B223D",
        "signalTextColor": "#1B223D",
        "labelBoxBkgColor": "#FAF2E8",
        "labelBoxBorderColor": "#3D4870",
        "labelTextColor": "#1B223D",
        "loopTextColor": "#58628A",
        "activationBkgColor": "#F0FDFD",
        "activationBorderColor": "#1A98B3",
        "sequenceNumberColor": "#FFFFFF"
      },
      "themeCSS": ".node rect, .node .label-container { rx: 8px; ry: 8px; } .cluster rect { rx: 16px; ry: 16px; stroke-dasharray: 6 4; stroke-width: 1.5px; } .edgePath .path, .flowchart-link { stroke-width: 1.5px; } .edgeLabel { font-size: 12px; } .node .label { font-weight: 500; }"
    },
  },
},

Tools and downloads

ToolWhat to useFile
diagrams.net (draw.io)North shape library: every node, container and connector, styled. File → Open library from → Device.north-diagrams.drawio.xml
MermaidTheme variables and CSS for light and dark.north-mermaid-theme.json
Slides, Figma, IllustratorReference diagrams as SVG to copy from, in light and dark.Elements · Architecture · Flowchart
Code and agentsDiagram tokens (below) and the diagram-* colour roles in the token files.north-tokens.css

Diagram tokens

TokenValueUse
--n-diagram-grid8pxSnap every node and connector to an 8px grid.
--n-diagram-stroke1.5pxNode borders and connectors.
--n-diagram-stroke-strong2.5pxPrimary path and emphasised connectors.
--n-diagram-node-radius8pxNodes (boxes).
--n-diagram-group-radius16pxGroup containers.
--n-diagram-zone-radius24pxZones and trust boundaries.
--n-diagram-node-min-width144pxMinimum node width.
--n-diagram-node-height56pxDefault single-line node height (two lines: 72px).
--n-diagram-node-padding12px 16pxInner padding of a node.
--n-diagram-gap48pxMinimum gap between nodes along a flow.
--n-diagram-dash6 4Dashed line pattern (async, optional, boundaries).
--n-diagram-dot1.5 4Dotted line pattern (dependency, reference).
--n-diagram-arrow-size8pxArrowhead length.
--n-diagram-label-size14pxNode title (Helvetica Now Text Medium).
--n-diagram-caption-size12pxEdge labels and captions (Helvetica Now Text Regular).
--n-diagram-icon-size20pxIcon inside a node.

Dos and don'ts

Do

  • State the takeaway in the title.
  • Use the ten element types and their meanings.
  • Route lines orthogonally with labelled connectors.
  • Show trust boundaries as zones.
  • Add a legend when there are more than three element types.

Don't

  • Colour nodes by taste or by team.
  • Use shadows, gradients, 3D or isometric clip art.
  • Draw diagonal or curved spaghetti lines.
  • Cram more than 12 nodes into one view.
  • Put North logos or decorative icons inside nodes.
Don't colour nodes for decoration
Don't draw diagonal spaghetti
Don't add shadows and 3D

Last updated on 14 October 2026