vadhänderi.se

Evenemangsrutan: tekniskt blad

För webbyrån eller IT-avdelningen som lägger in evenemangsrutan på ett hotells webbplats. Allt skriptet gör står här, så att ni kan godkänna det utan att läsa koden. Kort: ett skript från vadhanderi.se, ett anrop till vadhanderi.se, inga kakor, inga tredje parter, och en sida som fungerar precis som förut om vi skulle vara nere.

Laddar frånBara vadhanderi.se. Inga tredje parter, inga typsnitt, inga spårningsskript.
SpararIngenting. Inga kakor, ingen lagring i webbläsaren, ingenting om besökaren.
Om vi är nereRutan visar er egen länk. Sidan i övrigt påverkas inte.

Vad skriptet gör och laddar

Koden ni klistrar in är ett element med er nyckel och ett skript, https://vadhanderi.se/widget/v1.js, som laddas asynkront och aldrig fördröjer sidan. Skriptet gör ett anrop till https://vadhanderi.se/widget/api med nyckeln, språket och de inställningar ni valt, och får tillbaka de evenemang rutan ska visa: bara de kort som visas och bara de fält som syns. Rutan ritas i en egen skuggdom (shadow DOM), så dess stilar rör aldrig er sida och er sidas stilar rör aldrig rutan. Rutan ärver sidans typsnitt och textfärg och laddar inga typsnitt själv.

Det enda som kan hämtas från någon annan än vadhanderi.se är arrangörernas egna bilder, som visas när besökaren öppnar ett kort. De laddas från arrangörens server. Tillåter er sida inte det visas kortet utan bild.

Evenemangen skrivs också som strukturerad data (schema.org Event) i sidan, så att sökmotorer ser vad som händer nära er. Det är ett datablock utan körbar kod.

Inga kakor, ingen lagring, inga tredje parter

Rutan sätter inga kakor och sparar ingenting i besökarens webbläsare. Anropet till vadhanderi.se görs utan kakor och utan inloggning. Ingenting om besökaren skickas: ingen identitet, ingen historik, inget om vad hen gör på er sida. Det enda vår server ser är det en webbläsare alltid skickar med ett anrop, er webbplats som avsändare och besökarens IP-adress, och den sparar vi inte. Det finns ingen statistik eller spårning i rutan, varken vår eller någon annans. Ni behöver ingen samtyckesruta för den.

Personuppgifter

Vi för inga egna loggar över besökarnas IP-adresser. Vår server noterar vilken webbplats som frågade och om svaret gick bra, för att se att rutan fungerar hos er. Tjänsten levereras av Vercel, som behandlar vanlig teknisk begäransinformation för att svaret ska kunna levereras och skyddas, på samma sätt som för vilken webbplats som helst. Vi bygger inga profiler och delar inget med andra. I er egen integritetspolicy räcker det att nämna att sidan hämtar evenemang från vadhanderi.se utan kakor. Hur vi hanterar uppgifter i övrigt: integritet.

Nyckeln och CORS

Nyckeln i koden hör till värdnamnet där rutan visas, till exempel hotellet.se (www. och port räknas inte). Den är inte hemlig: den står i sidans kod och ger ingen åtkomst till något. Det den gör är att knyta rutan till er webbplats, så att vi kan se att den används hos er, hjälpa till om något går fel och stänga av en nyckel som missbrukas. Det finns inget att skydda i den, så den behöver ingen särskild hantering i er konfiguration. Visas rutan på en annan adress, till exempel en förhandsadress hos byrån, hämtas en nyckel för den adressen på inställningssidan.

Vår server svarar med Access-Control-Allow-Origin för just den webbplats nyckeln hör till. En annan webbplats som använder er nyckel får inget svar, och rutan där visar bara dess egen länk.

Content Security Policy

Har er webbplats en Content Security Policy behöver den släppa in vadhanderi.se för skriptet och anropet. Rutan är byggd för strikta policyer utan 'unsafe-inline': den använder inga inline-skript, inga inline-stilattribut och sätter sina stilar som ett adopterat stilblad, som en strikt policy tillåter. Det här räcker:

DirektivLägg tillVarför
script-srchttps://vadhanderi.seskriptet /widget/v1.js
connect-srchttps://vadhanderi.seanropet som hämtar evenemangen
img-srchttps:arrangörernas bilder i öppnade kort; utan det visas korten utan bild
frame-srchttps://vadhanderi.sebara om ni använder iframe-varianten (Wix och liknande)
style-srcingentinginget 'unsafe-inline' behövs i dagens webbläsare; i Safari före 16.4 visas rutan då utan sina stilar, men fullt läsbar

Ett exempel på en strikt policy som rutan är provad med:

Content-Security-Policy: default-src 'self'; script-src 'self' https://vadhanderi.se; connect-src 'self' https://vadhanderi.se; img-src 'self' https:; style-src 'self'

Provet görs i en riktig webbläsare med den policyn, varje gång rutan ändras: rutan ska ritas med sina kort och stilar, och webbläsaren ska inte rapportera något brott mot policyn från rutan.

WordPress-tillägget lägger till ett litet stilblock på WordPress sätt (ett inline-stilblock i sidhuvudet). Har er WordPress-sajt en strikt policy hanteras det som andra tilläggs inline-stilar, med er nonce eller hash. Utan det visas tilläggets egen lista utan stilar tills rutan ritats, som sedan döljer listan själv.

Versioner

Adressen /widget/v1.js är fast. Allt vi ändrar i v1 är bakåtkompatibelt: koden ni klistrade in första dagen fortsätter fungera, och ni behöver aldrig uppdatera den. Skulle vi någon gång behöva bryta mot det får den nya versionen en ny adress, v2.js, och v1 lever kvar. Därför går det inte att låsa skriptet med Subresource Integrity (en integritetshash): hashen skulle sluta stämma vid varje förbättring och rutan skulle sluta visas. Skyddet ligger i stället i att skriptet bara kommer från vadhanderi.se, som er policy ovan säger.

Om vadhanderi.se inte svarar

Skriptet laddas asynkront, så sidan ritas och fungerar som vanligt även om vi är nere. Får rutan inget svar visar den bara den länk ni la i koden, och sidan i övrigt påverkas inte. Rutan visar aldrig ett felmeddelande hos er. Svaren cachas i några minuter hos besökaren och på vårt nät, så ett kort avbrott märks oftast inte alls.

WordPress-tillägget

Tillägget Vad händer i – evenemang för hotell (version 1.4.0) hämtar evenemangen från er server, inte från besökarens webbläsare, och skriver dem som vanlig HTML i sidan med strukturerad data. En lokal kopia förnyas var tredje timme och visas vidare om vi inte svarar. Tillägget laddar samma skript som ovan, som sedan ritar rutan i sidan. Samma regler gäller: inga kakor, inga personuppgifter, inga tredje parter. Ladda ner tillägget.

Frågor och incidenter

Frågor om tekniken, en policy som inte släpper in rutan, eller en incident ni vill att vi tittar på: mejla redaktionen@vadhanderi.se, så svarar vi. Beskrivning för utvecklare och AI-agenter med alla inställningar: https://vadhanderi.se/widget/agenter.md.

Tillbaka till evenemangsrutan