Universal ID

Signatures that live inside the document.

Universal ID gets PDFs signed with a Swedish e-ID and writes each signature into the file itself. The finished document verifies in any PDF reader, whether or not we are still in the picture.

Built in Stockholm. Hosted by us, or run on your own infrastructure.


The sign service

Upload an agreement, list the people who have to sign it, and each of them signs with the e-ID they already carry. Nothing is installed on their side and no one needs an account with you.

Every ceremony signs the document as it stands and writes the result back into the file, so the second signature covers a version of the PDF that already contains the first. What you archive is one file that proves itself — not a certificate of completion pointing at a record in someone else's system.

  • Signer identityBankID, Freja+, or any identity provider in Sweden Connect, foreign e-IDs included
  • StandardsOASIS DSS and the Sweden Connect DSS extension
  • ResultPAdES, one signature per signer, inside the PDF
  • ArchivingPDF/A in, PDF/A out
  • An order holdsAn agreement, its appendices, and every signer

The SCIM 2.0 service

The same instance serves a SCIM 2.0 identity service. Declare the resource types and schemas you actually use — the standard User and Group, your own extensions, or resources that have nothing to do with people — and they are served over the SCIM REST API with filtering, paging and the same audit trail.

It speaks the open standard, so identity providers and applications can talk to it without anyone writing a connector for your shape of user.

GET /v2/Users/2819c223 200 OK
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "id": "2819c223-7f76-453a-919d-413861904646",
  "userName": "anna.lindqvist",
  "name": {
    "givenName": "Anna",
    "familyName": "Lindqvist"
  },
  "emails": [{
    "value": "anna@example.se",
    "primary": true
  }],
  "active": true
}

How a signing round works

Four steps, and only one of them is yours to do.

  1. Add the document

    Upload the agreement and any appendices, or generate it from a template with your own fields filled in.

  2. Name the signers

    An email address each, plus the identity you expect them to sign as. Everyone gets their own link, in the order you choose or all at once.

  3. They sign with their e-ID

    The signer opens the link, reads the document and confirms with BankID, Freja+ or whichever e-ID they use. No account, no install.

  4. Collect the signed file

    Each signature is written into the PDF as it arrives. When the last one lands, the order is done.


Whoever has to sign, can

Universal ID is a Sweden Connect signing service, so the federation does the identity work. You connect to it once, and your signers turn up with whatever they already have.

Every Swedish e-ID

BankID, Freja+, and the rest of the federation. Reaching a new one is the federation's job rather than an integration project on your side.

Signers abroad

Sweden Connect reaches the EU's eIDAS network, so a counterparty in another member state signs with their own national e-ID instead of being asked for a Swedish one.

The assurance you need

Ask for the level the agreement calls for. Sweden Connect's assurance levels map onto the eIDAS low, substantial and high.


Hosted by us, or run it yourself

The same software either way. What changes is who operates it, and you can start on one and move to the other.

Hosted by us

Your own tenant at yourcompany.universalid.io, kept current and backed up. Nothing to install and nothing to patch.

Run it yourself

A container and a Postgres database, on-premises, in your own cloud account, or split across both. Signed agreements and personal numbers stay in the environment you chose for them, and the signing credentials are files you mount and control.


Tell us what you need to sign

We are a small team in Stockholm, so you will reach an engineer rather than a queue. Describe your setup and what has to be signed, and we will tell you plainly whether Universal ID fits.

hello@universalid.io