Säkerhet, publika nycklar

Publika nycklar för att kontrollera loggen.

En publik nyckel låter vem som helst kontrollera att en post i loggen är signerad av oss och inte har ändrats, utan att kunna skapa nya signaturer.

När en kund tar ALEX i drift får kundens miljö ett eget nyckelpar. Den privata nyckeln stannar i miljön, och den publika publiceras här. I dag finns nyckeln för vårt påhittade exempel, nyckeln för våra egna utvärderingar och nyckeln för exemplen i modulkatalogen.

Så verifierar ni en AI-loggHämta förteckningen (JSON)

Publicerade nycklar.

Varje nyckel är av typen Ed25519. Den publiceras här och på en fast adress under .well-known.

acme-bank

Exempelbolaget AB, påhittat

Påhittat svenskt bolag, bara för att visa formatet. Ingen riktig kund.

Algoritm
ed25519
Publik nyckel
6d4efa4a98cec96c2b0d47d49d6bb03040cbd24e18f47ffbb54e7a57caa9468a
Fingeravtryck
sha256:5d098357d598a4389a21055ed8486635159a8e8979d77f6033e59c0c53c70df1
Adress
kapaciti.se/.well-known/audit/acme-bank
Utfärdad
30 september 2026
Paket
kapaciti.se/audit-evidence/acme-bank-sample.json

Så kontrollerar en revisor exemplet.

Tre steg på er egen dator. Det enda som behövs är git och Node, och verifieraren är öppen så att ni kan läsa koden innan ni kör den.

  1. Hämta den publika nyckeln

    # Nyckeln som vanlig text
    curl https://kapaciti.se/.well-known/audit/acme-bank
    
    # Nyckeln som JSON, med fingeravtryck
    curl -H 'Accept: application/json' \
      https://kapaciti.se/.well-known/audit/acme-bank
  2. Hämta paketet

    # Påhittat exempel i samma format som produkten
    curl https://kapaciti.se/audit-evidence/acme-bank-sample.json \
      -o acme-bank.json
  3. Kör den öppna verifieraren

    git clone https://github.com/Fluxz-Holding/kapaciti-audit-demo && cd kapaciti-audit-demo && node verify.mjs ../acme-bank.json

    Förväntat utfall: OK: all 15 blocks verified, chain intact, signatures valid

    Jämför fingeravtrycket som verifieraren skriver ut med nyckelförteckningen här på sidan och med /.well-known/audit-keys-index.json.

    this_hash är SHA-256 av posten som JSON med sorterade nycklar, utan this_hash och signature. Signaturen är Ed25519 över this_hash som text och kodad i base64. Första postens prev_hash är 64 nollor, och varje följande posts prev_hash är föregående posts this_hash.

Adresser och format.

Adressen följer konventionen för .well-known i RFC 8615.

Adress
https://kapaciti.se/.well-known/audit/<org-id>
Svar som text
Utan särskild begäran svarar adressen med vanlig text: den publika nyckeln, 32 byte i hexform, på en rad.
Svar som JSON
Med huvudet Accept: application/json svarar adressen med fälten org_id, algorithm, public_key, fingerprint, issued_at, verification_url, verification_doc och bundle_url.
Anrop från andra webbplatser
Tillåtna, så ett granskningsverktyg som körs i webbläsaren kan hämta nyckeln direkt.
Cachning
Svaret cachas i fem minuter i webbläsaren och en timme i nätverket, så en ny nyckel syns inom en timme.
Förteckning
Alla nycklar listas på /.well-known/audit/ och i /.well-known/audit-keys-index.json.

Vanliga frågor om nycklarna

Hur vet jag att nyckeln är äkta?

Jämför fingeravtrycket som verifieraren skriver ut med nyckelförteckningen här på sidan och i /.well-known/audit-keys-index.json. Stämmer de är paketet signerat med nyckeln vi publicerar. Båda förteckningarna ligger på kapaciti.se, och nycklarna finns i dag inte publicerade hos någon utomstående.

Vad händer om en nyckel byts?

Då publicerar vi den nya nyckeln här och i förteckningen, med datum. Den 30 september 2026 bytte vi nyckeln för det påhittade exemplet, när exemplet gjordes om med nya poster.

Se exemplet som nyckeln signerar.

Femton påhittade poster, länkade med fingeravtryck och märkta med artikel i AI-förordningen.

Nyhetsbrev om AI-förordningen och det vi lär oss när vi bygger ALEX.

Vi hör av oss när något i AI-förordningen ändras som påverkar er. Avregistrera när som helst via länken i mejlet.

Uppgifterna används endast för nyhetsbrevet. Inga utskick utöver det utan separat samtycke.