Our security page lists which controls exist today — and what is in progress.Learn more

Send it. Get it signed. Know what it says.

Every agreement is built from versioned clauses and typed fields. What gets signed is structured data — searchable, traceable, and linked to the obligations it creates.

NORDEN-0142 · creator-agreement v3partially_signed

§4 Ersättning

Fast ersättningvariant · fixedvald
Provision på försäljningvariant · rev_share
Produkt i utbytevariant · in_kind
Belopp12 000 SEK
Andel12 %
Start2026-09-01

Signaturer

Vestra Handel ABstatutory_signatorysigned
Motpartcounterpartypending

Åtaganden

3 inläggwaiting
Utbetalningwaiting

The problem

An agreement stops being readable the moment it becomes a PDF

Which version applies?

The template changed in March. The agreement went out in February. Nobody can answer without opening the file.

creator-agreement
v32026-06-01published
v22026-03-14superseded
v12026-01-08superseded

The terms are not searchable

“Which agreements have notice longer than three months?” means someone has to read them. Full-text search finds the word, not the term.

select · notice_period > 3
NORDEN-00886 mån
VESTRA-00314 mån
ALMTRA-00076 mån
NORDEN-014212 mån

Obligations live in someone's head

The agreement says three posts. Nothing says anything when they do not arrive.

obligations
Inlägg 1fulfilled
Inlägg 2pending
Inlägg 3breached

It all connects

Template, clause, field, intake, signature, obligation. The same data all the way through.

01

Versioned templates

The identity is slug plus version. Publishing v3 never touches v2 — agreements already sent keep pointing at their own text.

templates5
creator-agreementv3 · sv · counterpartypublished
board-resolutionv1 · sv · internalpublished
power-of-attorneyv1 · sv · counterpartydraft

02

Clause variants

Negotiation happens by picking among pre-approved variants, not by rewriting text. Who may pick is set per clause.

§7 exclusivitycase_owner
Ingen exklusivitetvariant · none
Kategoriexklusivitet 90 dagarvariant · category_90
Full exklusivitetvariant · full
24 klausuler · 30 varianter registrerade

03

Typed fields

An amount is SEK, a share is a percentage, a point in time is a date.

fields
fee_amountsek
revenue_sharepercent
start_datedate
post_countinteger
channelslist

04

Intake forms

A single-use link to a form. Every field maps to a variable — nothing lands in free text.

/intake/·······intake_sent
Namnparty
Kanalvariable
Ersättningvariant_selector

05

Signing and authority

Anyone can start. Only a registered statutory signatory can conclude the agreement. The power of attorney is itself an agreement in the system.

signatories
Firmatecknarestatutory · organisationactive
Fullmaktshavarepower_of_attorney · enhetpending
evidence_instance_id → ALMTRA-0104

06

Obligations

Fulfilment is attested by a person, never by the system. Every attestation lands in a log that can only grow.

obligation_events
attested_fulfilledactor · operator
activatedactor · system
createdactor · cross_app
append-only · kan inte redigeras

Lifecycle

Every state change is logged with who and from where

  1. draft
  2. intake_sent
  3. intake_submitted
  4. rendered
  5. partially_signed
  6. active
  • superseded
  • lapsed
  • declined
  • void

Personal numbers are not in the agreement

Personal data is physically separated and read through a single function. Every access is logged in the same transaction — they cannot come apart.

pii_access_log
read2026-08-11 09:14 · operatorpii
write2026-08-04 16:02 · systempii
erase2026-07-30 11:47 · operatorpii

Two separated layers

AvtalsdataPersonuppgifterget_party_pii()blockerad väg 1blockerad väg 2blockerad väg 3

See it on a real agreement

Twenty minutes, your own agreement type, no sales material.