Twenty-one core apps, each in five treatments. The cobalt hex is canonical, and the inversed outline is for inverse contexts. The orange hex is for hero and marketing surfaces. Each app also gets a wordmark lockup and a 32px favicon. Every glyph is the app's own Nextcloud icon. One cobalt only: #21468B. The containerised ExApp sidecars follow below.
Every glyph here ships as the AppGlyph React component in @conduction/docusaurus-preset. Use it instead of hand-drawing an icon, so the product pages, the ConNext diagram, and the docs site all render the same canonical mark from one source.
import {AppGlyph} from '@conduction/docusaurus-preset/components';
<AppGlyph app="opencatalogi" />
The glyph inherits currentColor, so wrap it in a hex or tile and set the colour. On a DetailHero the app mark renders automatically from the appId prop, with no icon needed. Slugs are the current app ids, the symbol ids below without their g- prefix. The ExApp sidecar openanonymiser is available too. Old ids such as docudesk and procest still work as aliases.
★ Cobalt is the canonical default for every app surface. Orange is the hero and marketing treatment, one orange hex per surface. Inversed is reserved for light-on-cobalt contexts. One cobalt only across every app: #21468B.
Sidecar apps wrap an external product. Each runs as a containerised Nextcloud ExApp, on the same cobalt hex.
Not Nextcloud apps, but part of the family. Public websites and fleet tooling carry the same cobalt hex.
Nextcloud blue, and as a gradient on top. Nextcloud blue is a guest colour reserved for the workspace hex, and it's always solid #0082C9, never a gradient.
Two different blues. Cobalt-700 next to the canonical cobalt reads as a bug. One cobalt only, #21468B, across every app and surface.
Pure circle. Wrong vocabulary, Conduction does hex (apps) and rectangle (UI), never round chips for an app.
Pointy-top hex, cobalt fill, the app's real icon in white. This is the canonical app glyph.
img/app.svg, from its development branchbrand/assets/apps/glyphs/, checked on 2026-09-27img/app.svg is still the template placeholder<symbol>, referenced with <use>fill="currentColor" so each treatment colours the same markclip-path: var(--hex-pointy-top))#21468B, never cobalt-700 or Nextcloud blue