Överordnat säkerhetssystem

spine

Brand · Talat utrymningslarm · Inbrott · Passage · CCTV · Nödljus

Alla säkerhetssystem i en och samma bild. Spine kopplar ihop brandlarm, inbrottslarm, passersystem, kameror och nödbelysning, oavsett fabrikat, och visar allt på husets egna ritningar.

Ett toppskikt ovanpå befintliga centraler. Drivrutiner per fabrikat ringer ut till en siteserver, varje punkt får ett stabilt id och varje kommando bekräftas genom read-back mot centralen.

14fabrikat och kanaler
< 1 sfrån knapptryck till bekräftelse från centralen
481 av 481adresser placerade automatiskt på ett riktigt blad
10 årsäkerhetsuppdateringar per version
Så fungerar det

Från befintliga system till levande ritning

Kunden behöver inte byta några centraler. Spine läser det som redan finns, bygger upp anläggningen själv och gör den styrbar från ett ställe.

Anslut

En liten programdel kopplas till varje befintlig central eller passersystem. Den kontaktar Spine utåt, så kundens nät behöver inte öppnas inåt.

Skapa punkter automatiskt

Varje detektor, dörr och kamera skapas ur centralens egen exportfil eller direkt ur systemet. Ingen knappar in tusentals adresser för hand.

Placera automatiskt

Spine läser adresserna på brandritningen och lägger symbolerna exakt där konsulten ritat dem.

Övervaka och styr

Larm, fel och frånkopplingar syns direkt på ritningen. Operatören kan återställa, frånkoppla och öppna dörrar, och centralen bekräftar varje åtgärd.

Byggs ovanpå, ersätter inget

Kundens centraler fortsätter göra sitt jobb. Spine ger överblicken och kopplingen mellan dem.

Aldrig i livssäkerhetsvägen

Brandcentralen har kvar sin egen väg till larmcentralen. Spine är ett verktyg för drift och överblick, inte larmöverföring.

Centralen har sista ordet

Ett kommando räknas som utfört först när centralen själv visar det nya läget.

Okänt visas aldrig som grönt

Om Spine inte vet läget på en punkt står det okänt. En tyst förbindelse ger larm, inte lugn.

Data stannar hos kunden

Ingen telemetri och ingen fjärranslutning in. Spine fungerar helt utan internet.

AI läser, människan beslutar

Ett valfritt AI-gränssnitt kan svara på frågor men aldrig styra något.

Block

Tre ytor, en anläggning

Spine består av block som licensieras var för sig. Ett block som inte ingår syns inte alls. Alla block delar samma ritningar, samma journal och samma behörigheter.

Karta

Navet. Från Sverigekartan ner till en enskild detektor på ett plan.

  • Karta, anläggning, byggnad, plan och symbol i ett klick
  • Riktiga PDF-ritningar med levande symboler ovanpå
  • Larm som visar vägen till rätt plats
  • 3D-vy med planen staplade
  • Kalender för schemalagd frånkoppling, villkor och rapporter
  • Provläge, provplan och provprotokoll
licensmodul: karta

Personer

Ett register över alla som har kort, över alla passersystem samtidigt.

  • Samma person i ARX, RCO och Brivo syns som en människa
  • Profiler, till exempel "Ekonomi", som ger rätt dörrar i alla system
  • Förhandsgranskning innan något skickas
  • Spärra ett borttappat kort överallt på en gång
  • Nattlig kontroll av att systemen visar det som beslutats
licensmodul: iam

CCTV

Kamerorna kopplade till det de faktiskt ser.

  • Videovägg från 1×1 till 4×4 med sekvens
  • Kameran som täcker ett larm lyfts överst och märks röd
  • Stillbild tas när larmet kommer och följer med notisen
  • Integrerar med befintligt videosystem, inget nytt VMS
licensmodul: cctv

Tillval: Analys

licensmodul: analys

Ställ frågor om anläggningen till en AI-assistent, till exempel vilka detektorer som inte provats i år. Assistenten kan bara läsa. Utan blocket finns inget AI-gränssnitt alls, så kunden kan visa att ingen AI rör deras data.

Larm

Larmet visar vägen dit

Ett brandlarm tar operatören från kartan, via anläggningen och byggnaden, in till den larmande detektorn på ritningen. Resan tar ett par sekunder och kan avbrytas med ett klick.

01Kartan visar var larmet finns02Anläggningen och huset lyser rött03Ritningen öppnas04Detektorn pulserar, kameran visas bredvid

Skärminspelning från demoanläggningen Kvarteret Björken, som följer med Spine.

Kvittera och ta ansvar

Kvittera betyder att man sett larmet. Hantera betyder att man tar ansvar för det. Om den som hanterar tappar förbindelsen hörs larmet igen, så inget larm blir liggande utan ägare.

Kvittera"Sett". Kan kräva ett uttalande eller en checklista.
HanteraAnsvar. Dör med operatörens socket, då hörs larmet igen. Överlämning bara till en levande, behörig session.
Larm inaktivtTystar bara den egna skärmen, 30 min förval, högst 8 h. Notiserna går ändå.
StationerLåst vy och tidsgräns. En väggskärm kan kvittera men inte hantera.
JournalAppend-only JSONL per dygn, packas efter en vecka

Notiser till rätt person

Varje användare väljer vilka larm, vilka byggnader och vilka tider som ska ge notis, och hur. En bild från kameran eller ritningen följer med.

Autoskapa & autoplacera

Ritningen och exporten vet redan var allt sitter

Konsultens brandritning och centralens export beskriver samma hus. Spine läser båda och bygger anläggningen själv. Det som tidigare tog dagar av handarbete tar minuter.

Varifrån punkterna kommer

Centralens exportfil

Spine läser exportfilen från centralens programverktyg och skapar varje detektor, sektion och styrning. Fungerar innan centralen ens är ansluten.

EFO · SecuriFire · Consilium · ARX
Direkt ur systemet

Spine frågar systemet självt vad som finns och skapar punkterna när drivrutinen ansluter.

Hedengren · RCO · Brivo · Eagle Eye · WAVE
Installatörens karta

För IO-enheter och teknik skriver installatören en enkel lista med namn och adresser.

Generisk Modbus
  1. Läs in exporten

    Punkterna skapas med samma id som centralen senare rapporterar. De visas grå som planerade tills centralen svarar.

    Id: <drivrutin>/<sort>/<adress>. Vid överlämningen gäller centralens lista, allt journalförs.

  2. Ladda upp ritningen

    Brandritningen som PDF, samma fil som skrivs ut och lämnas till räddningstjänsten.

    Vektor-PDF med textlager krävs för autoplacering. Skannade blad visas och placeras för hand. Ingen OCR. Bara sida 1.

  3. Hitta adresserna

    Spine letar upp varje adresstext på ritningen, till exempel 01.001 eller 70/12, och lägger symbolen där konsulten ritat detektorn.

    EFO ^\d{1,2}\.\d{2,3}$, SecuriFire ^\d{1,4}/\d{1,3}$. Symbolen läggs 1,6 etiketthöjder under etikettens mitt. Roterade blad hanteras.

  4. Hitta sektionerna

    Stora sektionsnummer i ringar får Spines sektionssymbol ovanpå konsultens ring.

    Villkor: minst dubbelt så stor som adressetiketten, mer än 8 % från kanten, och sektionen finns i drivrutinen.

  5. Kontrollera mot exporten

    Varje adress måste finnas i centralens export. Spine gissar aldrig utifrån namn.

    Ingen konfidenspoäng, bara exakt träff. Samma adress på flera ställen blir flera don med samma id.

  6. Granska och justera

    Allt går att flytta, rotera och skala i samma editor. En ny ritning flyttar bara det Spine placerat själv, handplacerat lämnas orört.

KONTOR 2.14 TRAPPHUS B 70 70/1270/1370/14 1,6 h sektion 70 · finns i centralen

Förenklad ritning. 70/12 betyder sektion 70, adress 12. Den streckade ringen är Spines sektionssymbol.

481/481adresser på bladet hittade i exporten
526adresstexter lästa på ett blad
1 648detektorer, noll avvikelser mot exporten
60 fpssmidig zoom på stora A1-blad
69symboler enligt SB 20.1
0gissningar ur enhetsnamn

Mätt på ett riktigt blad från en SecuriFire-anläggning.

Symboler, lägen & kommandon

Vad Spine ser och vad Spine kan göra

Symbolerna följer svensk standard SB 20.1, så ritningen ser ut som räddningstjänsten är van vid. Katalogen har 69 symboler. Färgen visar läget och formen visar vilken utrustning det är.

En symbol, många lägen

Detektorhälsa: se smutsiga detektorer innan de ger falsklarm

Moderna detektorer mäter hela tiden. Spine läser mätvärdena, sparar en trend per detektor och listar de smutsigaste först, så att servicen kan byta rätt detektor i tid.

FabrikatVärdenStatus
Schneider Esmi / EFONedsmutsning 0–100 %, råvärde 0–255i drift
Hedengren FirescapeNedsmutsning, månadsrapportbyggd
Hedengren NeptoluxBatterikapacitet i minuter, temperaturbyggd
ConsiliumRök i % av larmnivå, temperatur, nedsmutsningbyggd
Securiton SecuriFireRök, temperatur, CO, nedsmutsning, luftflöde i aspirerande rörplanerad
01.014
78 %
02.103
61 %
01.007
44 %
03.021
23 %

Exempel. Trappstegskurva per detektor, förändring senaste 30 dagarna.

Spine bedömer inte värdena själv. Gränser sätts bara där fabrikatet anger dem, annars visas värdet neutralt.

Planering & avprovning

Hela årets provning, planerad och bevisad

Brandlarm ska provas regelbundet, och inte bara detektorerna. Fläktar, hissar, dörrar och spjäll som brandlarmet styr måste också fungera. Spine planerar året, kopplar ifrån det som inte får lösa ut under provet och skriver protokollet medan teknikern går runt.

1. Planera året i kvartal

Spine föreslår en fördelning Q1–Q4 som täcker hela anläggningen på ett år. Förslaget går plan för plan, delar stora plan och jämnar ut kvartalen. Det går också att välja själv:

  • Markera symboler direkt på ritningenoch välj "lägg i provplan"
  • Välj ur en lista: hus, plan, donredan provade don är märkta
  • Lägg till funktionerfläktar, hissar, dörrar och spjäll som brandlarmet styr
  • Ange vad som ska kopplas ifråntill exempel larmöverföring och utrymningsstyrning, så provet inte startar en utrymning
  • Skriv manuella steg och anteckningarför sådant som görs på plats

Q1 2027

Hus A · Plan 142 don · 3 funktioner
2 frånkopplas
Hus A · Plan 238 don

Q2 2027

Hus A · Plan 3 del 1/240 don · 2 funktioner
1 frånkopplas

Q3 2027

Hus A · Plan 3 del 2/239 don
Garage24 don · 4 funktioner
3 frånkopplas

Q4 2027

Hus B61 don · 2 funktioner

Exempel. Stapeln visar hur stor del av planen som är provad.

2. Genomför provet

  1. Starta ur planen

    Välj hur länge omgången ska pågå (förval 2 timmar, högst 12) och om notiser ska skickas under provet.

  2. Spine kopplar ifrån

    Det planen anger frånkopplas med skälet "Provning" och automatisk återkoppling. Allt journalförs.

  3. Alla ser att det är prov

    En gulrandig banderoll visas på alla skärmar.

  4. Teknikern provar

    Varje utslag märks som prov i protokollet. Ett riktigt brandlarm hörs och ska kvitteras som vanligt.

  5. Spine kopplar tillbaka

    När omgången avslutas eller tiden går ut återkopplas det Spine kopplade ifrån, och bara det.

Provläget märker, det tystar inte

Ett larm under ett prov ljuder, eskalerar och står i journalen som larm. Provet skrivs som en egen rad bredvid. Det gör att provning aldrig kan dölja en riktig brand.

Omfattningsite:, building: eller floor:, valfri disciplin
KontrollServern kontrollerar varje minut, journalrad när tiden gått ut
JournalSorten test, "Provläge PÅ ur planen {namn}"
FrånkopplingSaknas skrivväg markeras steget "manuell", omgången startar ändå
API/api/provplan, /forslag, /:id/starta, /api/provning/markera

3. Tre vägar till "provad"

centralCentralens provläge

Centralen rapporterar själv att donet provats, till exempel Hedengrens walk-test.

provSkarpt utslag under omgång

Donet löste ut medan det låg i en provomgång. Fungerar även för fabrikat utan provläge.

manuellMarkerad för hand

Markera ett eller flera don som provade, med datum, anteckning och namn. Fungerar utan att en omgång pågår.

4. Protokoll och täckning

Provad

Med metod, tid och vem.

Inget utslag

Låg i omgången men reagerade aldrig. Avslöjar en trasig detektor.

Inte provad

Syns som streckad ring på ritningen tills den provats.

Varje plan får en stapel "n av m provade". Protokollet laddas ner som CSV eller PDF per kalenderår eller rullande 12 månader, och äldre perioder går att öppna i efterhand.

Integrationer

Fabrikaten Spine talar med

Varje fabrikat har ett eget paket som talar just det systemets språk. Klicka på ett fabrikat för att se vad Spine kan göra med det.

FabrikatStatusVisar lägenStyrSkapar punkterAutoplaceringMätvärden
JaByggt, provas mot riktig anläggningPlaneratGäller inte
Arkitektur

En väg ut ur kundnätet

Spine installeras hos kunden, på en vanlig Windows-server. Den lilla programdelen vid varje central ringer ut till servern. Därför behöver inga portar öppnas in mot centralernas nät, vilket de flesta IT-avdelningar kräver.

Samma kod körs på en maskin eller delad. Bara drivrutinens konfiguration skiljer. On-prem är primärt och Spine kan köra helt utan internet.

Varje kommando bekräftas av centralen

före = santRedan utfört

Läget var redan det begärda.

före ≠ sant · efter = santBekräftat

Centralen visar det nya läget. Mätt 400–640 ms mot en riktig brandcentral 40 mil bort.

efter ≠ santMisslyckat

Läget ändrades aldrig. Operatören ser det direkt.

Teknik

Nordlänken

Transportws:// eller wss://, drivrutinen initierar, full resync vid varje återanslutning
AutentiseringDelad token i konstant tid. Tillåtelselista över kända drivrutiner kan slås på.
Nyckelnålningnorth.pin: pinnad, först, av, klartext
Publika adresserOkrypterad ws:// vägras mot publika adresser
Takt per socketDrivrutin 2 000 ramar/s (skur 8 000), klient 100/s, 600 ms CPU/s, max 16 MiB per ram
VakthundNy uppringning efter 100 s utan ping
Önskat lägeKalendern säger vad som ska gälla. En drivrutin som varit nere får kommandot när den kommer upp.
Teknik

Stängningskoder

KodOrsak
4001Ram före hello
4002Ramen kastade undantag
4003Ett levande id finns redan
4008Takten överskreds
// punkt-id är hela kontraktet
arx-1/door/17   efo-1/p0/01.001   cons-1/u2/10/10
// agentens fjärrstyrning av drivrutiner
agentCmd { reqId, op, what, by, args } → agentResult
Serverkrav

Rätt server för anläggningen

Spine kräver ingen databas och ingen specialhårdvara. En vanlig virtuell Windows-server räcker. Rekommendationerna nedan har marginal. Mätvärdena kommer från en belastningsrigg på 2 kärnor.

S

En byggnad

Skola, kontor, mindre fastighet

Punkter
2 000
Klienter
5
Kärnor
2
Minne
4 GB
Disk
40 GB SSD

vila 1 % CPU · 94 MB · 200 händelser på 3 ms

M

Flera byggnader

Campus, köpcentrum, fastighetsbolag

Punkter
5 000
Klienter
20
Kärnor
2
Minne
8 GB
Disk
60 GB SSD

vila 3 % · 134 MB, topp 216 MB · anslutning 0,5 s

L

Stor anläggning

Sjukhus, flygplats, större industri

Punkter
20 000
Klienter
100
Kärnor
4
Minne
16 GB
Disk
120 GB SSD
Nät
1 Gbit

vila 17 % · topp 518 MB · 100 klienter på 6,6 s · storm 1 000: p50 1,1 s

XL

Portfölj

Kommun eller region med många anläggningar

Punkter
50 000
Klienter
100
Kärnor
8
Minne
32 GB
Disk
250 GB SSD

vila 22 % · topp 829 MB · anslutning 16 s

Dimensioneras tillsammans med oss.

Gäller alla storlekar

OperativsystemWindows Server x64. Körs som Windows-tjänst.
DatabasIngen. Säkerhetskopia är en kopia av en mapp.
DrivrutinsmaskinValfri Windows-dator i centralens nät, cirka 100 MB minne per drivrutin. Kräver ingen egen licens.
KlienterWebbläsare på dator, väggskärm eller telefon
JournalCirka 150 MB för 13 månader vid 2 000 händelser per dygn
RedundansVia virtualiseringen: servern flyttas mellan värdar. Aktiv/aktiv kluster stöds inte ännu.
Teknik

Portar och drift

18080Operatörsyta, drivrutinerna ansluter hit
18081Analys (MCP), loopback som förval, 0 = av
18078Statussida, bara läsning
18079Kontrollport, bara loopback
Minne~100 MB + 10 MB per 1 000 punkter i vila, dubbelt i topp
I drift2 415 punkter, 7 drivrutiner: 145 MB platt i 8 h, eventloop p95 27 ms
PaketServer ~66 MB med inbäddad Node 24, drivrutin ~43 MB
Test & validering

Varje rättning bevisas, varje release kontrolleras

Ett system som styr brandlarm och dörrar får inte gissa. Därför provas koden i flera lager, mot riktiga centraler och mot leverantörernas egna specifikationer.

2 200+automatiska kontroller i de största provsviterna
128+byggen i registret, spårbara till varje kund
6riktiga system provade: brand, passage, moln
0kända sårbarheter i beroendena vid bygge
  • Mot riktiga centraler

    Frånkoppling och återkoppling på en riktig brandcentral, dörrar i riktiga ARX-, RCO- och Brivo-system, Hedengren mot molnet.

  • Hela vägen till skärmen

    Prov kör från centralens fil via drivrutin och server hela vägen till en riktig webbläsare.

  • Leverantörernas specifikationer som simulatorer

    Innan en central finns på plats provas drivrutinen mot en simulator byggd ur leverantörens protokollbeskrivning.

  • Fabrikaten hålls isär

    Ett eget prov stoppar bygget om något som bara hör till ett fabrikat hamnar i den gemensamma koden.

  • Last och kapacitet

    En rigg bygger anläggningar upp till 50 000 punkter och 100 klienter och mäter varje release.

  • Säkerhetsgranskningar

    Återkommande granskningar av servern, drivrutinerna, sidan och paketen. Extern penetrationstest planeras hösten 2026.

Regler som gäller all kod

  • Varje rättning får ett provFelet återinförs med avsikt och provet måste falla. Först då räknas rättningen.
  • Okänt är aldrig gröntProv kräver att det som inte kunde läsas visas som okänt, aldrig som normalt.
  • Last mäts, den antas inteHur hårt Spine frågar en central mäts på tråden.
  • Bygget stoppar vid sårbarheterKritiska och höga fynd i beroenden stoppar bygget.
  • Varje paket signerasEtt paket med fel signatur installeras aldrig.
  • Handboken provas mot kodenSvensk och engelsk version får inte glida isär.
Teknik · påståenden per provsvit
CRA & GDPR

Byggt för regelverken från början

EU:s cybersäkerhetsförordning ställer krav på alla produkter med digitala delar. Dataskyddsförordningen styr hur personuppgifter i passersystem hanteras. Spine är byggt för båda och tar fram underlagen själv.

Cyber Resilience Act EU 2024/2847

Förordningen kräver säker utveckling, hantering av sårbarheter och säkerhetsuppdateringar under produktens livstid.

  • Innehållsförteckning i varje paketSBOM i CycloneDX-format listar alla komponenter
  • Signerade uppdateringarTvå nycklar, kontrolleras på den maskin som installerar
  • 10 års säkerhetsuppdateringarSupportperioden står i produkten
  • Uppdateringar blockeras aldrig av licensenEn utgången licens stoppar inte en säkerhetsuppdatering
  • Kontaktväg för sårbarhetersecurity.txt och SECURITY.md i varje installation
  • CRA-underlag ur installationenVersion, byggnummer, nycklar och krypteringsläge per förbindelse
11 sep 2026Rapportering av aktivt utnyttjade sårbarheter
11 dec 2027Full tillämpning och CE-märkning

Egen bedömning: viktig produkt klass I (bilaga III p. 1). Formellt besked saknas. Kvar: Annex VII-underlag, försäkran, TLS som förval.

GDPR EU 2016/679

Kunden är personuppgiftsansvarig. Spine hjälper kunden att hålla ordning och visa vad som finns.

  • Allt ligger hos kundenIngen telemetri. Spine kontaktar aldrig leverantören av sig själv.
  • Bara det som behövsNamn, avdelning, kontaktuppgifter, kort och giltighetstid. Personnummer lagras inte.
  • Gallring som standardJournal 400 dygn, avregistrerade personer 90 dygn, bilder 90 dygn. Allt inställbart.
  • Personkort per människaVisar allt Spine har om en person, underlättar registerutdrag
  • Lösenord och PIN skyddasLösenord lagras bara som hash. PIN visas aldrig efteråt.
  • Underlag till registerförteckningenSpine genererar ett underlag för artikel 30 på svenska och engelska

Hemligheter mot fabrikatsystemen krypteras med DPAPI. Journalen går inte att redigera, rättelse sker med ny rad. Personuppgiftsbiträde bara vid avtalad support med åtkomst.

Inloggning och behörighet

TvåstegsinloggningKod i app, SMS-kod, passkey och reservkoder
RollerPer disciplin: läsa, operera, tekniker, administratör
Per byggnadOperatören ser bara de byggnader den har rätt till
FörvaltningSkilj på daglig drift (ritningar, symboler) och systemansvar
LicensFungerar helt offline. Följer med vid migrering, men går inte att klona.
Teknik

Säkerhet i detalj

Kontonscrypt, HttpOnly-session, spärr efter 5 fel, TOTP RFC 6238
LicensEd25519, 2 av 3 maskinkännetecken. Utgången licens spärrar kommandon, aldrig övervakning.
PaketEd25519, SBOM CycloneDX, npm audit stoppar bygget, 4 driftberoenden
VersionerSida vid sida. Tre krascher inom 3 min startar föregående version.
CSPscript-src 'self', object-src 'none'
MCPJSON-RPC 2.0, sju läsande verktyg, varje anrop journalförs
Färdplan

Vad som finns och vad som kommer

Spine utvecklas i snabb takt med täta releaser. Aktuell version är 0.139.0.

Finns

  • Autoskapade punkter och autoplacering
  • Kalender, villkor och schemalagd frånkoppling
  • Provläge och provplan Q1–Q4
  • Personer över flera passersystem
  • Notiser med bild: push, Teams, SMS, e-post
  • 3D-vy av byggnaden
  • Detektorhälsa med trend

Pågår

  • Hanwha Wisenet WAVE
  • Securiton SecuriFire och Consilium
  • IO-enheter via Modbus
  • RCS-meddelanden med knappar
  • Köp tid vid larmlagring

Planerat

  • Avstämningsrapport mellan export, symboler och ritning
  • Konton som bara tar emot notiser
  • AD och Entra ID
  • BACnet, Milestone, ONVIF
  • Talat utrymningslarm
  • Axema, Partnersec, Traka Web
Teknik · drivrutiner i testinstallationen 30 sep 2026
anlaggningen

Anläggningar, byggnader, plan och centraler

drivrutinernas_lage

Förbindelser, versioner och last per väg

punkternas_lage

Punkter och lägen med filter

las_journal

Journalen som strukturerade rader

provningstackning

Provade och ej provade punkter

avvikelser

Beslutade mot faktiska behörigheter

underlag

GDPR-, CRA- och driftunderlag