GlyphfieldDocs
Documentation/System reference

Partnership lockup

Lock up the brand with one or more partners using optical sizing, separators and alignment rules, then export the lockup as PNG or SVG.

Last updated Oct 14, 2026

Partnership lockup (tool ID partnership) makes co-brand lockups. It is one of the expression tools. The partner lockup is one layer that holds the logo of the active brand and any number of partners. A partner is a logo or a written name. Logos come from the identity's proof assets, the other built-in identities, the Northstar sample partner or an uploaded file. The template starts with the identity's own proof partner. When the identity has no proof asset to use, the template uses the written placeholder "Partner".

General Translation and Ramp partnership lockup in the expression editor
Lockup layout: the partners lead, the headline follows1200 × 600 · optical sizing

Optical sizing balances partners by the ink they show. Bundled logos carry a measured ink box, so empty space inside a logo file does not make that partner look smaller.

Content controls

SectionControls
ContentTitle and two headline type controls named after the identity's short name, for example GT headline font and GT headline weight for General Translation
PartnerPartner, Partner treatment (Use logo or Write name), then Lockup name for a written partner or Replace partner logo for a logo. Partner headline font, Upload partner headline font and Partner headline weight style the partner's name in the headline and in a written lockup. Lockup spacing sets the gap on each side of a separator, 0–160 px
LockupOne row per extra partner with its own artwork picker, upload and remove button. Add partner adds the next partner that is not in the lockup yet, and Add written partner adds a written name. The alignment rules follow

When the headline still reads "Brand × Partner" with the current names, choosing another partner updates the headline to match.

Alignment rules

ControlOptions
Separator×, +, /, Rule (a thin vertical line, |) or None
SizingOptical balance (the default) gives every mark the same visual area, so a square mark and a long wordmark carry equal weight. Equal height and Equal width are also available
AlignmentStart, Center or End places the lockup in its box
VerticalCenter, Top or Baseline aligns the marks. Baseline aligns their bottoms (bottom in the API)
Logo colorOne color (mono, the default) recolors the marks to the text color. Original colors (original) keeps their artwork colors

The lockup scales down to fit its box.

Layouts and formats

LayoutIDArrangement
LockuplockupThe lockup at the top, the headline above the footer
CenteredcenteredThe lockup in the middle with the headline below it
Hero lockupheroA large lockup alone, with the website in the footer
AnnouncementannouncementA large headline above a rule, with the lockup at the bottom

The default format is lockup (1200 × 600). The other social formats listed in Expression tools also apply.

Export

Export PNG renders the lockup at 2×. More exports → Export SVG downloads a self-contained SVG with the partner logos and fonts embedded.

Browser actions

ActionUse
partnership.export.png / partnership.export.svgExport
partnership.partner.add / partnership.partner.removePartners
partnership.lockup.updateSeparator, sizing, alignment, gap and tone
partnership.document.describeFormat, layouts, pages and layers
partnership.layer.add / partnership.layer.update / partnership.layer.remove / partnership.layer.duplicateLayer edits
partnership.layer.reorder / partnership.layer.select / partnership.layer.alignStack order, selection and alignment
partnership.format.set / partnership.layout.apply / partnership.template.resetFormat, layout and template
partnership.history.undo / partnership.history.redoHistory

The partner actions edit the lockup on the active page.

  • partnership.partner.add takes { partnerId?, kind?: 'logo' | 'text', label? } and returns { id }. Without partnerId, it adds the next partner that is not in the lockup yet. A text partner uses label, or "Partner" when label is missing.
  • partnership.partner.remove takes { id }. It does not remove the brand (brand) or the last entry.
  • partnership.lockup.update takes { separator?: '×' | '+' | '/' | '|' | 'none', sizing?: 'optical' | 'height' | 'width', justify?: 'start' | 'center' | 'end', verticalAlign?: 'center' | 'top' | 'bottom', gap?, tone?: 'original' | 'mono' }. gap accepts 0–400. Values outside these lists are rejected.

See Expression tools for the shared actions.

HTTP

POST /api/generate with { kind: 'template', template: 'partnership', partnerId?, partnerLogoDataUrl? } renders the lockup as an SVG. partnerId is a proof asset ID of the identity, another built-in identity ID or template-northstar. See Generation API.

On this page