How KopiMark works
The mental model behind KopiMark — workspaces, projects, pages, text nodes, statuses, and how the Figma sync keeps your design and copy aligned.
Open as Markdown Full docs bundle
Open this page in
KopiMark sits between your Figma file and your team. Designers keep working in Figma; everyone else (writers, translators, reviewers, PMs) works on the copy and assets inside KopiMark, on top of the same design.
This page is the short explanation of how the pieces fit together. If you’d rather get hands-on first, start with Getting started.
The hierarchy
KopiMark organises work in three nested layers:
- Workspace — your team. Holds members, billing, glossary, and domain whitelist. Every account has at least one workspace.
- Project — one body of work, usually mapped to one Figma file. Holds its own languages, statuses, fonts, members, and export config.
- Page — one Figma page inside a project. This is the editor surface where copy and translations live.
Inside a page, each text or image you see on the canvas is a node — imported from Figma and bound to its original Figma node id, so re-syncs match cleanly even when the file evolves.
What lives where
| Layer | What you manage there |
|---|---|
| Workspace | Members, roles, billing, workspace glossary, domain whitelist |
| Project | Languages, statuses, custom fonts, translation settings, folders, API tokens, exports |
| Page | The canvas itself: text edits, translations, comments, statuses on nodes |
| Profile (yours) | Figma personal access token, cache-only toggle, your name and avatar |
A common surprise: fonts and glossary are project-level (or workspace-level), not editor-level. If a font isn’t rendering the way you expect, the fix lives in Project Settings → Fonts, not in the editor.
The Figma sync
KopiMark doesn’t run inside Figma; it reads Figma’s API and renders its own copy of the design. That means two things matter:
- You import a Figma file once, then re-sync when the design changes. KopiMark keeps the node structure (text, layout, images) but re-uses your existing copy edits and translations wherever the node ids still match.
- All renders are KopiMark’s — when a translator types a longer string, the canvas shows that longer string at the real font, size, and box. No “looks fine in the spreadsheet, breaks in Figma” surprises.
Live syncs require a Figma personal access token. Without one, KopiMark falls back to a pre-built cache for the demo project, but you’ll need a token to bring in your own files. See Connect Figma.
Text nodes and revisions
Every text node on a page is independently versioned. When you edit, your new copy becomes the latest revision; the prior copy stays in History. Translations work the same way per language.
This is what makes KopiMark safe for review: nothing is overwritten silently. A reviewer can always see what the previous wording was, who changed it, and when.
Statuses
Statuses are how KopiMark models “is this copy ready?”. They’re defined per project (so a marketing project and a product project can use different workflows). The first status is the default — newly-edited nodes pick it up automatically.
Statuses are also the link between a node and a teammate: assigning a status to someone fires a notification, which is the most reliable way to hand work off. See Statuses and approvals.
Comments
Comments are pinned to canvas coordinates, not attached to a node. That’s intentional — a reviewer can flag the whitespace between two sections, or a button that isn’t a text node, without forcing you to invent an anchor.
Threads can be resolved, replied to, and mentioned in. Mentions trigger both an in-app bell notification and (by default) an email. See Review with comments.
What KopiMark is not
A few things KopiMark deliberately doesn’t try to be:
- It’s not a Figma plugin. Designers don’t need to install anything.
- It’s not a translation memory or TMS. It does AI drafting, glossary enforcement, and per-language review — but it doesn’t store fuzzy matches across customers.
- It’s not a CMS. The export step is how copy reaches your codebase or CMS.
Where to go next
- Figma sync and cache-only mode — what changes when your Figma seat is limited.
- Roles and workspaces — who can do what.
- Connect Figma — the setup most users stumble on.