Signal (iOS)

Identity

Mobile Apps

Privacy-first messaging. Single Signal Blue #3A76F0 accent, disappearing-message timer chips, sealed-sender glyphs, zero-vanity minimalism, light + #1B1B1B dark

Typography

Ag
InterDisplay
Ag
InterBody400 / 500 / 700
Ag
ui-monospaceMono400 / 500 / 700
--text-4xl · 36pxThe quick brown fox
--text-3xl · 28pxThe quick brown fox
--text-2xl · 28pxThe quick brown fox
--text-xl · 28pxThe quick brown fox
--text-lg · 28pxThe quick brown fox
--text-base · 17pxThe quick brown fox
--text-sm · 16pxThe quick brown fox
--text-xs · 10pxThe quick brown fox

Palette

--bg#FFFFFFPage background — defines the brand canvas.
--surface#F5F5F5Card / lifted container background.
--surface-warmcolor-mix(in oklab, var(--surface), var(--fg) 6%)Tertiary surface tier (kami warm-sand).
--fg#000000Primary text color.
--fg-2color-mix(in oklab, var(--fg), var(--bg) 15%)Secondary text tier (kami dark-warm).
--muted#6B6B6BSubtext / captions.
--metacolor-mix(in oklab, var(--muted), var(--bg) 25%)Tertiary FG / metadata tier (kami stone).
--border#E5E5E5Default border / card edge.
--border-softcolor-mix(in oklab, var(--border), var(--bg) 50%)Inner row separator that should not visually compete.
--accent#3A76F0Brand accent. ≤2 visible uses per screen (lint enforced).
--accent-on#FFFFFFFG when --accent is the bg.
--success#3AB54ASuccess state.
--warn#FF9500Warning state.
--danger#D7263DDanger state.

Also named in DESIGN.md

Signal Blue Pressed#2f5fccPressed/active state for blue buttons and the send circle.
Signal Blue Tint#e7eefdLight-mode selected row, blue-wash backgrounds (link previews on outgoing).
Incoming Bubble#e9e9ebLeft-aligned received message bubble.
Text Tertiary#9a9a9aPlaceholders, disabled labels.
Dark Canvas#1b1b1bConversation list, chat background.
Dark Surface#2a2a2aGrouped sections, search field, incoming bubble (dark).

Imagery & layout

Radius

--radius-sm10px
--radius-md18px
--radius-lg18px
--radius-pill9999px

Spacing

--space-1 · 4px
--space-2 · 8px
--space-3 · 12px
--space-4 · 16px
--space-5 · 20px
--space-6 · 24px
--space-8 · 32px
--space-12 · 48px

Elevation

--elev-raised

Layout

Layout rules

Component kit