Ändringslogg
Varje version, varje funktion, varje fix, i en scrollbar logg.
2026-09-03, Sanningsgranskning: varje kompatibilitetsutlåtande och antal kommer nu från en enda fil
- Skannerkompatibilitet renderas från ett enda dataset: matrisen, korpustabellen, varje typsidas rad "Skannas på" och varje svar på "Skannar iPhone-kameran X?". De hade glidit isär; Micro QR var ett ja på en sida och ett nej på nästa, och tolv streckkodssidor sa att iPhone-kameran läser format den inte läser. Varje cell namnger nu sitt underlag (vår egen enhetslogg, eller leverantörens dokument), och enhetsloggen publiceras på korpussidan.
- Link-in-Bio, Smart App, Review Funnel och den inbäddade menybyggaren säger rakt ut att den tryckta QR-koden pekar på en sida på den här webbplatsen och behöver den vara uppe. Exportpanelen säger samma sak för de fyra typerna. Påståendet att en omhostning av renderaren håller tryckta koder fungerande var fel och är borttaget.
- Manifest: "fysiskt omöjligt" ersatt med det kontrollerbara påståendet, raderna om tiden före Pro uppdaterade. Säkerhetssidan: CSP-blocket läses från de driftsatta headrarna vid byggtillfället, förklaringen av
connect-srcvar felaktig och säger nu vad en schemakälla faktiskt tillåter, plus ett avsnitt om vad CSP inte kan göra. Arkitekturstycket listar nu de två serverlösa endpointarna istället för att påstå att inga finns. - Integritet: uppdelningen av intrångsanmälan rättad mellan GDPR artikel 33 (tillsynsmyndigheten, 72 timmar) och artikel 34 (dig, utan onödigt dröjsmål när risken är hög).
- Bevislänkar som pekade på ett privat repo pekar nu på artefakterna på webbplatsen. Testvektorerna och standardsidan är nu överens om vilken AAMVA-revision vår kodare genererar (version 10-headrar) och hänvisar till 2025 års standard som den aktuella auktoriteten.
- QR Lab faller tillbaka på en inbyggd QR-avkodare i webbläsare utan
BarcodeDetector(Safari, Firefox) och säger det istället för att skylla på bilden. - Antal typer, ikoner, mallar, språk och batch-gräns renderas från
data/site-counts.jsonpå varje infosida; driftsättningsgrinden avvisar nu en sida som anger ett annat lägre värde än resten av webbplatsen.
2026-07-17, Webbläsartillägget är live i Chrome Web Store
- Abundera QR-webbläsartillägget klarade granskningen och är live i Chrome Web Store. Högerklicka på en sida, länk eller markerad text och få en QR-kod, skapad på din enhet, utan konto, inget som går ut. Det fungerar i Chrome, Edge, Brave och andra Chromium-baserade webbläsare.
- Sidan /extension/ bär nu installationslänken på alla 26 språk.
- v1.0.1 står i kö som första uppdatering: länkad varumärkesrubrik i popupen, en anpassningslänk som öppnar den fullständiga redigeraren, kortkommandot Alt+Shift+Q, nedladdningar namngivna efter sidans domän, och en utskriftsvy.
2026-05-28, FAQ-texter: bort med jargongen "statisk / direkt kodad"
- FAQ-posterna på startsidan ("Går QR-koderna ut?" / "Hur är det med dynamiska QR-koder?") och FAQ:erna per typ på URL-, WiFi- och Text-sidorna talar nu klarspråk: "länken bor inuti själva QR-koden, inte på våra servrar". Den tidigare texten lutade sig mot "statisk, datan är kodad direkt i bilden", branschterminologi, inte hur en småföretagare tänker. Det tekniska svaret på "hur är det med dynamiska koder?" behåller ordet "dynamisk" eftersom användarens fråga använder det.
- Uppdaterat på alla 25 icke-engelska språk (5 FAQ-nycklar × 25 språk = 125 omöversättningar) plus FAQ-JSON-LD på startsidan. Den meritbaserade vinklingen i svaret om "dynamiska koder" är nu uttalad: vi beskriver vad dynamiska koder gör och sedan vår andra väg, utan den bannlysta frasen "statisk generering".
- Service worker-cachen höjd från v188 → v189.
2026-05-28, i18n-koppling av formulärets platshållare
- Varje
placeholder=i generatorformuläret (291 fält) bär nu ettdata-i18n-placeholder-attribut och en motsvarande engelsk nyckel i runtime-i18n-ordboken. Arkitektonisk konsekvens: varje sträng besökaren ser går genom qrT()-uppslaget, utan undantag. - 16 av platshållarna är riktig prosa (öppettider, jobbtitlar, fakturarader, "Tack för lunchen!", "Hyra för april") och fick riktiga översättningar på alla 25 icke-engelska språk. Resterande 275 är exempel på URL / e-post / telefon / IBAN / egennamn / siffror som läses likadant på alla språk och faller tillbaka på engelska via qrT.
- Service worker-cachen höjd från v187 → v188.
2026-05-28, i18n-koppling av kompatibilitetsremsan
- Kompatibilitetsremsan per typ (visas ovanför formuläret för icke-universella typer som rmqr, datamatrix, totp, regionala betalnings-QR) var den sista större hårdkodat engelska ytan på generatorsidan. 127 nycklar flyttade in i runtime-i18n-ordboken (3 bindningsprefix, 6 nivåetiketter, 118 strängar per typ för bäst-för / undvik-när / reservetikett). Den gamla, enbart engelska
COMPAT_DETAIL-ordboken krympte från 282 rader till 56 (bara reservgrafen per typ). - Alla 25 icke-engelska språk översattes i samma svep. Remsan läses nu på besökarens språk där motorn finns; en
qr-i18n-ready-lyssnare renderar om när översättningarna laddats klart. - Pre-deploy-grindens i18n-paritetskontroll följer nu punktnycklar med namnrymd (t.ex.
"compatBestFor.rmqr") så att saknade översättningar syns i matrisen i stället för att vara osynliga. - Service worker-cachen höjd från v186 → v187.
2026-05-28, Städrunda för texter och mallar
- Integritetsmärket på alla 26 språk: jargongfrasen "100% client-side" ersattes med "körs helt i din webbläsare" (eller enhetsvarianten på de sex språk som redan hade en jargongfri formulering). Samma ändring spreds till varje landningssida via den delade mallen.
- Sidan om godtagbar användning körde på en föråldrad mall, utan sin egen og:image och utan
?v=202609250029påpage-init.js. Alla 1 274 infosidor regenererades så att mallen stämmer med resten av webbplatsen. - Service worker-cachen höjd från v184 → v185.
2026-04-26, Full ISO/AIM/GS1-renderingsefterlevnad för varje kodtyp
- Granskade varje QR / 2D / 1D-streckkod mot dess styrande standard.
includetexti bwip-js's är som standard false för varje bcid, så EAN/UPC/ITF-14 levererades utan den läsbara textraden som ISO 15420 §5.1.2 + GS1 §5.4.4 kräver. Satteincludetext: true+guardwhitespace: trueför hela EAN/UPC-familjen, plusincludetext: trueför ITF-14, Code 128, Code 39, Code 93, Codabar, VIN. - EAN-13-tystnadszoner är nu asymmetriska enligt ISO 15420 Bilaga A (vid scale=4
paddingleft: 44= 11 moduler,paddingright: 28= 7 moduler). EAN-8 / UPC-A / UPC-E använder de symmetriska kuvert som deras specifikationer namnger. PDF417 + AAMVA-körkort får 2-modulers tystnadszoner enligt ISO 15438 §5.5; Data Matrix får 1 modul enligt ISO 16022; Aztec får rekommenderad 1 modul (noll tillåts av ISO 24778 men knäcker scanners som rör kanten). - QR:s
QUIET_ZONE_MODULEShöjt från 2 → 4, hela ISO/IEC 18004 §6.3.7-specen. 2-modulsgenvägen var en branschkompromiss som missar GS1 Digital Link-prefixdetektion på vissa industriella laserscanners. Micro QR + rMQR levereras nu med en 2-modulers tystnadszon (qreanger bara det nakna rutnätet, så vi lägger till det manuellt irenderMicroQRResult). - ECC-nivåer låsta: Aztec på 23 % (ISO 24778-standard), PDF417 på nivå 5 (GS1-minimum för transport och logistik). Låsning mot framtida drift i bwip-js.
- Ny referenssida: /standards/barcode-rendering/. Referens per symbologi som täcker tystnadszoner, HRI, ECC och kontrollsiffror för alla 17 typer, med primärkällelänkar till varje citerad ISO/AIM/GS1-standard.
2026-04-26, Skärpt staging-first-grind för deploy
- Produktionsdeployer för webbplatser med staging kräver nu att den senaste staging-deployen avser exakt aktuell commit (rent working tree på båda sidor). 24-timmarsfönstret i den tidigare grinden lät orelaterade produktionsdeployer åka med på inaktuell staging-historik. SHA-spårad, fail-closed, åsidosättningen är fortfarande
CF_DEPLOY_SKIP_STAGING_FIRST=1. - Preflight-kontroll i
cf-deploy.pyförCLOUDFLARE_API_TOKEN, misslyckas snabbt med ledtrådensource ~/.envrci stället för att låta wrangler kasta sitt kryptiska "non-interactive environment"-fel. - Innehållsverifierare efter varje deploy: hämtar live-URL:en och bekräftar att dess cache-buster matchar det som just stämplats in i
dist/. Fångar buggklassen "fel CNAME" / "edge serverar inaktuell cache" / "fel branch" som 200-OK-hälsokontrollen tyst skulle missa.
2026-04-25, Översyn av mobil-UX: peek-förhandsvisningshuvud, bottenark-förhandsvisning, fast nedladdnings-CTA
- Fast peek-förhandsvisningshuvud högst upp på sidan på mobiler (≤768 px). Visar alltid en liveminiatyr av QR-koden samt en enradsstatus, "Fyll i formuläret nedan" i viloläge, "Din QR är klar · Tryck för att ladda ner" så snart en kod renderas. Pulserar en gång när QR-koden blir giltig första gången så användarna märker det. Löser det långvariga problemet att mobila besökare inte insåg att resultatet renderades under vecket.
- Att trycka på peek-listen (eller den nya fasta nedladdningsknappen längst ner) öppnar förhandsvisningen som ett bottenark, nedladdningsknappar i full bredd staplade vertikalt, stängs genom svep nedåt eller tryck på bakgrunden, safe-area-padding för iOS-hemindikatorn.
- Hantering av mjukt tangentbord: en visualViewport-lyssnare sätter
body.kb-opennär tangentbordet kommer upp, peek-listen kollapsar till en smal piller, och fokuserade fält rullas till mitten så att tangentbordet aldrig döljer det användaren skriver. - Översyn av tryckmål vid ≤640 px: typvälj-rutor uppjusterade från 14×8 / 0.78rem till 16×10 / 0.82rem och minst 56 px höjd, panelflikar och primärknappar med 44 px-golv, exportknappar staplas i full bredd med 48 px-golv inuti arket.
- viewport-metan får
interactive-widget=resizes-contentoch de två100vh-reglerna har migrerats till100dvhför förutsägbar layout i mobilwebbläsare med dynamiska verktygsfält. - Den gamla scrolla-till-förhandsvisning-FAB:en är borttagen, peek-listen plus fast CTA täcker samma uppgift mer direkt. Service worker-cache höjd till v132. Nya strängar översatta till alla 25 språk.
- CSS-hygien: 203 enstaka spacing-deklarationer i
style.cssmigrerade till--space-N-tokens via codemod. Ren refactor, ingen visuell förändring. - Tak för inline-stilar 89 → 85: fyra
style="text-transform:uppercase"-attribut på AAMVA- / Code 39- / Code 93- / VIN-inputs ersatta med den befintliga klassen.input-uppercase.
2026-04-19, N16-efterlevnadsgenomgång (45 sidor), N3 batch 2, regressionsfixar, N3-svans, AAMVA-disclosure, Expert-tillståndspersistens, a11y-audit
- Fullständig N16-efterlevnadsgenomgång: alla 34 betalningsschema-landningssidor har nu efterlevnadschecklista + "när detta inte ska användas"-block. Fjärde omgången (19 sidor) täcker resten: Alipay + WeChat Pay (PBoC + SAFE), Boleto (BACEN + FEBRABAN), Mercado Pago (sjuländers regulatormatris), Payconiq (NBB + PSD2), EPC/Girocode (EPC069-12 + ZAG), Apple Wallet + Google Wallet (utvecklarprogram + FTC Endorsement + GDPR plats), Kakao Pay + Naver Pay + LINE Pay (koreanska FSC + japanska FSA + Taiwan FSC + BOT), GCash + Maya (BSP EMI + AMLC + QR Ph + SEC PH), JPQR (METI + FSA Qualified-Invoice), FPS HK (HKICL + HKMA + SFC Alert List), DuitNow (PayNet + BNM + LHDN e-Invoice), M-PESA (Safaricom + CBK + eTIMS + CMA), MoMo (SBV + AMLID + GDT e-Invoice), PayID (NPP + RBA + APRA + AUSTRAC + ASIC). Tillsammans med de tre tidigare omgångarna (AAMVA / Recensionssidor / Kupong / Recensionstratt / App Store / PayPal / Crypto / UPI / SEPA + Venmo / Cash App / Schweizisk QR-räkning / PIX / PromptPay / EMVCo / TWINT + Bizum / PayNow / iDEAL / BLIK / Interac / MB WAY / Swish / Vipps), är det 45 efterlevnadsblockerade landningssidor, varje betalningsschema på sajten har nu lokala regulatorhänvisningar, regler för handelsklassificering, skatt- / fakturaplikt, konsumentskyddsramar, och en "ingen investeringsuppmaning"-skyddsräcke som pekar på rätt värdepappersregulator. Första delpartiet (7): Venmo (AUP / F&F-missbruk / 1099-K / Early Warning-rapportering), Cash App (Cash for Business / Bitcoin & Investing reglerade ytor / Regulation E / CFPB-bedrägeriflagga), Schweizisk QR-räkning (SIX v2.3 / QR-IBAN-regler / MWSTG / 10-årig OR Art. 958f-bevarande), PIX (BACEN Resolution 103/2021 / PJ vs PF / MED-återbetalningsfönster / klistermärkesbedrägeri / CVM investeringsflagga), PromptPay (BOT-regler / THB 1,8M moms-tröskel / AMLO-rapportering / gränsöverskridande FX-disclosure), EMVCo (ISO 18245 MCC / acquirer KYC / nationell FIU vid AID-fel), TWINT (FINMA/AMLA / MROS / KIG-konsumentskydd). Andra delpartiet (8): Bizum (Bizum Negocios / SEPBLAC / factura / CNMV), PayNow (MAS Payment Services Act / STRO-rapportering / SGQR / PDPA), iDEAL (licensierad acquirer / DNB / PSD2 13-månaders dispyt / CBF välgörenheter / ACM-tillsyn), BLIK (Polski Standard Płatności / KNF / GIIF-rapportering / faktura VAT / RODO), Interac (Interac for Business / FINTRAC / PIPEDA / Quebec Bill 96 / CAFC-bedrägeri), MB WAY (SIBS / Banco de Portugal / UIF / CMVM / GDPR), Swish (Getswish AB / Finansinspektionen / Skatteverket kassaregister / Swish-bedrägerier), Vipps (Vipps MobilePay AS / Finanstilsynet / Økokrim / Bokföringsloven / advarselsliste). Ansluter till de tidigare efterlevnadsblocken på AAMVA, Google / Yelp / TripAdvisor-recension, Kupong, Recensionstratt, App Store, PayPal, Crypto, UPI, SEPA. Total täckning nu: 26 landningssidor.
- Fem fler standardreferenssidor (N3 batch 2), AAMVA-körkort, eSIM-aktivering (LPA), EMVCo handlare-QR, Micro QR / rMQR, ZATCA e-faktura. Hubben har nu 8 levande referenssidor som täcker kärnspecifikationerna.
- Två regressioner fixade: (1) startsidan auto-rullade ner vid laddning eftersom
showCategory()-init anropadescrollIntoView({block:"nearest"})på kategorichippet, ersatt med manuell horisontellscrollLeftså sidrullning aldrig rörs. (2) Typsökning för "paym" gav noll resultat eftersom filtret bara kontrollerade etikett + data-type-substrängar, DRY-fix återanvänder nu samma CAT_SEARCH + TYPE_SEARCH-synonymtabeller som kommandopaletten använder. - N3-svans: ny /standards/non-qr-2d/ kombinerad referenssida för Aztec (ISO/IEC 24778) + PDF417 (ISO/IEC 15438) + Data Matrix (ISO/IEC 16022). Sida-vid-sida jämförelsetabell, native-skanner-stödmatris över iOS Camera / Android / Google Lens / industriella imagers / flygplatsgrindar / DMV-läsare / pharma DPM-läsare, plocka-rätt-en-guide (Aztec för boardingpass, PDF417 för lång ASCII flat-paper, Data Matrix för DPM / pharma, QR för konsumenttelefonkameror). Standardhubben har nu alla 9 sidor live, 0 utkast.
- AAMVA-formulär progressiv disclosure (N19.3 uppföljning): 25-input-formulär uppdelat i Obligatoriskt (jurisdiktion / körkort / dokumenttyp / familj / förnamn / DOB), Rekommenderat kollapsat-öppet (mellannamn + gata + stad/stat/postnummer + utfärdande/utgångsdatum), Expertinställning kollapsad (kön/ögon/längd + klass/restriktioner/påskrifter). Matchar mönstret som används på TOTP, HOTP, Aztec, PDF417, Schweizisk QR, EMVCo, GS1, SEPA.
- Expertinställningsläge persisterar mellan besök (N19.3 uppföljning): när du öppnar Expert-sektionen på något formulär sparas det öppna tillståndet till
localStorage.qrExpertSectionsOpennyckel-mappad efter typ. Nästa gång du väljer den typen är Expert redan öppet. Delegeradtoggle-lyssnare på.field-section[data-level="expert"], ingen koppling per formulär. - Intern tillgänglighetsaudit (N8): manuell WCAG 2.2 AA-genomgång mot startsidan, /print-size/, den nya /standards/-hubben + 9 referenssidor, och de 45 betalningsschema-landningssidorna. Verifierat godkänt på skip-link-mål, focus-visible, formuläretiketter, knappnamn, ARIA-roller, kontrast AAA primär / AA+ dämpad. Fixade ett rubriknivå-hopp (tre
<h4>-underrubriker inuti vCard/MECARD extra-fields uppgraderade till<h3>för en ren disposition). Fullständiga fynd publicerade på /accessibility/. - Offentlig korpus-ZIP (N2 uppföljning): /proof/corpus.zip, buntade fixturer JSON + CSV + metodologi + README, ~4 KB, byggs om vid varje deploy. Skannerflottor kan nu ladda ner hela korpusen i en fil i stället för att klona repot. Länkad från /proof/corpus/ med en framträdande nedladdningsknapp.
- Skannerflottans attestloggar (N2 uppföljning): ny skannerattestlogg, daterad per-rad-logg över manuella enhets/OS/app-verifikationer. Initialt 10 rader som täcker iPhone 15 Pro på iOS 18.3, Pixel 8 på Android 14, Zebra DS8100, Google Authenticator, 1Password. Växer med varje enhet vi verifierar.
- In-generator förhandsgranskningsrealism (N19.6): kompakt 4-chip-toggle under live-QR-förhandsgranskningen, Standard / Telefon / Mono / Låg kontrast. Tillämpar CSS-filter på förhandsgranskningen (skala för Telefon, gråskala för Mono, reducerad kontrast för Låg kontrast) så designers ser hur QR-koden beter sig på olika substrat utan att lämna generatorn. Noll effekt på den kodade nyttolasten, nedladdningar eller urklippskopiering.
- Fler semantiska validatorer (N19.4 utökning): HOTP-hemlighet Base32 + räknare icke-negativ-heltalskontroll; eSIM SM-DP+ måste vara en bar FQDN (ingen https://, vanlig telefon-provisioneringskrasch); eSIM Matching ID avvisar
$-tecken (kolliderar med LPA fältavgränsare). - Progressiv disclosure utökad till UPI och Crypto (N19.3 utökning): UPI-belopp + notering grupperade som Rekommenderat; crypto-belopp + etikett grupperade som Rekommenderat. SIP, MMS, PromptPay och Lightning granskade och lämnade platta, för få fält för att gynnas av disclosure.
- Kvalitetsauditgenomgång över SEO, prestanda, säkerhet, länkintegritet och kodkvalitet (i18n-genomgång uppskjuten). Service worker
cache.put-skrivningar körs nu inutievent.waitUntilså de inte kan tappas mitt i navigering; cache höjd till v121. Visitkort-utskriftsdialogen bytte fråndocument.writetill enBlob-URL. Dela- och kortnedladdningsklickhanterare inlindade i try/catch så avslag dyker upp som toasts i stället för tysta misslyckanden. Magic-number-tider (designkort-hash auto-öppna, GIF-bildrendering, dubbel PNG-nedladdningsglapp, print-blob-revoke) extraherade till namngivna konstanter. Latent CSS-bug fixad:.card-text-row-input-selektorer matchade endast[type="text"], men HTML-minifieraren strippar standardtype="text"-attributet, lade tillinput:not([type])så BCD-tagline + bildtextinmatningar behåller sin styling i produktion. Två gratuita!important-deklarationer borttagna; bullrig i18nconsole.warntystad. Projektdokumentation uppdaterad: språksidor är förrenderade tillsite/{lang}/, inte serverade via_redirects-omskrivningar.
2026-04-18, Auktoritetspush: /standards/-hubb + 3 standardsidor, /proof/corpus/, Reviewer #6 omslag, N19.1 arbetsflödes-först Avancerat
- Enkel-läget får en subtil "96 fler typer i Avancerat"-ledtråd under 8-rutorrutnätet. Att klicka på länken växlar lägestoggeln så användarna inte rullar tillbaka upp. Enkel håller sig till 8 rutor; Avancerat förblir upptäcktsvägen för den långa svansen.
- Pro-CTA-punktlista omskriven för att spegla vad som faktiskt levereras: lösenordsspärrade koder, schemalagd aktivering och utgång, värmekarta/väder/ROI/kohort-analys, offentliga delbara statistiksidor, kodgrupper för stora portföljer, webhooks + REST API, multi-team och granskningslogg, SSO (SAML/OIDC) + SCIM-provisionering. Gamla generiska "Skannanalys / API-arbetsflöden / Team"-punkter är borta.
- "Spara till Pro"-ledtråden under generatorn nämner nu lösenordsspärr, schemalagd aktivering, värmekarta och ROI-analys samt offentliga statistiksidor i stället för bara "skannanalys".
- Progressiv disclosure på fältintensiva avancerade generatorer (N19.3): TOTP, HOTP, Aztec, PDF417, Schweizisk QR och EMVCo kollapsar sina expertrattar (algoritm/siffror/period, EC-nivå, kolumner/kompakt, meddelande, MCC/AID) under en Expertinställningssektion. GS1 Digital Link grupperar AI 17/10/21 som Rekommenderat; SEPA separerar referens (Rekommenderat) från BIC (Expertinställning). Kollapsade Expert-sammanfattningar visar en "expert"-pill så strömanvändare upptäcker de extra rattarna utan att klicka.
- Sparade profiler (N19.8): namnge-och-spara aktuella fältvärden för en avancerad generator till localStorage, lista dem i Sparade profiler-panelen ovanför kompatibilitetslegenden, och ladda dem med ett klick eller via kommandopaletten (Cmd/Ctrl+K). Lagring är endast på klientsidan; inget lämnar webbläsaren.
- Tryckproduktionsauktoritet (N15): /print-size/ har nu en substratguide (8 substrat × storleksstraff × ECC), CMYK-säkra palettregler med katalognivå CMYK/RGB-only-anteckningar, regler för utomhus/skyltning (UV-blekning, kameraanvändning i kallt väder, snedställda skanvinklar), ett 4-checks utskrivbart QA-protokoll och vanliga preflight-betygsdefinitioner ("D = kommer att misslyckas på blank skyltning under 3 m").
- Efterlevnadsstängsel (N16): nya "Efterlevnadschecklista" + "När detta inte ska användas"-block på fem granskar-flaggade landningssidor, App Store (Apple 5.2 / Play-policy / TestFlight-distribution), PayPal (AUP / F&F-missbruk / 1099-K / MSB-klassificering), Bitcoin & Crypto (FATF Travel Rule / FinCEN/FCA-registrering / Howey-test-exponering / OFAC), UPI (NPCI-cirkulär / GST / anti-bedrägeri-överlagsbedrägerier / SEBI om investerings-QR), SEPA (EPC069-12-konformans / PSD2-returrättigheter / ingen-återkommande-mandatvarning). Ansluter till de befintliga efterlevnadsblocken på AAMVA, Google / Yelp / TripAdvisor-recension, Kupong, Recensionstratt.
- Senaste typer i kommandopaletten (N19.7): de 8 senaste typerna du valde dyker upp först när Cmd/Ctrl+K öppnas med tom fråga; med en partiell fråga får senaste typer en liten rankningsbonus så "tot" pålitligt hoppar till ditt mest använda OTP-flöde. Också markerade med en "Senaste" kategorichip så förstärkningen är synlig, inte magisk. Spåras endast i localStorage.
- Enkel-läge polering (N6): Enkel döljer nu också Sparade profiler-panelen (inte ett nybörjarkoncept) och Batch-fliken. Redan dolda objekt oförändrade (typsökning, branschpresetar, kompatibilitetslegend, kategoriflikar, kompatibilitetschip).
- Fyra-pelare förtroenderemsa (N7): toppsidans påståenderemsa kollapsade från 5 objekt till 4, var och en uttryckligen bärande sin pelaretikett, "Genuint gratis, ingen registrering, inga betalväggar", "Integritet först, 0 utgående förfrågningar, verifiera live", "Produktionsäker, kompatibilitetstestad april 2026", "Ingen inlåsning, statisk backup-QR, exportera när som helst". Jämförelse-uppdaterad-länken togs bort från remsan (det är en trovärdighetssignal, inte en pelare) men finns fortfarande i nav + sidfot.
- Avgörande "Använd detta om / Använd inte"-callouts (N19.11) högst upp på fältintensiva avancerade formulär, Data Matrix, Aztec, PDF417, TOTP, HOTP, eSIM, GS1. Orange-accentuerade, två klausuler, före all fältinmatning. Ersätter mönstret där förklarande prosa satt i botten och användare bara läste det efter att de hade skrivit klart.
- Förmågebanner (N19.9) på Stilpanelen för icke-QR-symbologier, explicit chip + titel ("Ingen styling, endast vanlig streckkod") + beskrivning, ersätter den gamla enstycksledtråden med något lättblickat.
- Semantisk validering (N19.4): TOTP Base32-hemlighetsvalidator, Schweizisk QR IBAN CH/LI-prefix + 21-tecken längdkontroll, SEPA IBAN mod-97-checksumma (fångar feltryckta siffror), och en korsfältsvarning för WiFi Enterprise när EAP är vald men identitet är tom. Inline, icke-blockerande, återanvänder det befintliga VALIDATION_RULES-registret.
- QR Lab nu ett klick från Nedladdning (N5), ett streckat-kant-chip ("Testa innan du skriver ut i QR Lab →") sitter inline med nedladdningsknapparna så verifiering är synlig vid exportpunkten.
- Avancerat öppnas uppgift-först (N19.1): kategoriremsan är nu organiserad efter vad du gör i stället för vilken symbologi det är. Nio arbetsflödeshinkar, Vardagsdelning, Evenemang & platser, Media & filer, Marknadsföring & recensioner, WiFi & telekom, Betalningar & banking, Detaljhandel & GS1, Boarding & ID, Auth & dev, ersätter den gamla symbologi-taxonomin (Vardag / Företag / Betalningar / Identitet / Säkerhet / Industriell / Avancerade standarder). Alla 105 typknappar omkartade; sidfot-typrutnät omgrupperat för att matcha.
- Auktoritetspush (N3): nya /standards/-hubb med åtta fullständiga referenssidor, GS1 Digital Link (Sunrise 2027, live GTIN-kontrollsiffrevalidator), TOTP & HOTP (RFC 6238 / 4226, live Base32-entropivalidator, autenticatorkompatibilitet), Schweizisk QR-räkning (SIX IG v2.3, live CH/LI IBAN-validator med QR-IBAN-detektion), AAMVA-körkort (CDS v10, elementkodtabell, IIN-tabell, laglig-användning-ramning), eSIM-aktivering (LPA) (GSMA SGP.22, iOS 17.4+ / Android 13+ kompatibilitet), EMVCo handlare-QR (MPM / CPM-struktur, regionala derivat PIX/UPI/PromptPay/SGQR/DuitNow, MCC-tabell), Micro QR & rMQR (ISO/IEC 18004 Annex M + ISO/IEC 23941, kapacitetsdiagram, specialistskanner-kompatibilitet), och ZATCA e-faktura (saudisk FATOORA, TLV-taggar 01–09, Fas 1 vs Fas 2). Varje sida: speclänk + kanoniska testvektorer + live-validator där tillämpligt + fallgropar + skannerkompatibilitet + daterad nästa-granskning. Första steget mot encyklopediskt-grad auktoritetsmål.
- Offentlig testkorpusställning (N2): ny /proof/corpus/-sida som dokumenterar metodiken som vem som helst kan använda för att granska skannerkompatibilitetspåståenden, ladda ner fixturer, regenerera QR-koder, skanna med din egen flotta, rapportera avvikelser. Kuraterad 18-rads förväntad-skanresultat-tabell över iOS Camera, Android Camera och pro-skannrar. Länkar /test-vectors/ (utvecklar-JSON) och /standards/ som auktoritetsskikt ovanför.
- Tidigare Reviewer #6-objekt levererade denna dag i tidigare commits: jobb-först rutorrutnät (N14), "Det mest pålitliga QR-verktyget på internet"-varumärkesmening (N17), kommandopalett (N19.2), expertpresetar (N19.5), nyttolastinspektör (N19.10), kanonisk <title>-formatgenomgång (N20).
- Översättningseftersläp: N14- och N17-text finns på 25 språk; allt annat från dagens Reviewer #6-omslag (N19.3 / N19.4 / N19.7 / N19.8 / N19.9 / N19.11 / N5 / N6 / N7 / N15 / N16 / Pro SSO/SCIM) är endast engelska för nu och faller tillbaka till engelska i andra språk tills nästa översättningsomgång.
2026-04-17, Keep-Alive live, Pro-roadmap + supportsidor, webhook-auditfixar
- Keep-Alive-nivå live på Pro: 4 $/mån, 36 $/år eller 240 $ Decade (10-årig förbetalning, 2 $/mån effektivt). Bevarar befintliga koder med en 30-dagars mål-redigeringskylare; inga nya koder, inga platser, ingen API. Migration 007, tre Stripe-produkter, webhook-väg för Decade-engångsbetalningen, plan-grindar över dashboard/koder/redigera. Återställde "Levereras Q3 2026"-bannern på /compare/ och /no-lock-in/.
- Ny sida på pro.qr.abundera.ai/roadmap/: vad som har levererats, Q3/Q4-åtaganden med kill-kriterier, explicit lista över saker vi inte bygger.
- Ny sida på pro.qr.abundera.ai/support/: per-nivå svarstidsmål, säkerhetsdisclosure-adress, omfång.
- Stripe webhook-fixar: idempotency-race (kunde svälja en återförsökt betalning), dedup via SELECT före hantering, INSERT vid framgång. Decade-betalningshanterare kastar vid saknad/okänd price_id eller felaktig nivå i stället för att tyst tappa.
DEFAULT_SEAT_LIMITodefinierad vid team-invite-acceptans. Signaturtolerans 60 s → 300 s.incomplete_expiredmappar tilltrialing(varexpired). - Dokumentation:
ABUNDERA_JWT_AUDIENCESdokumenterad som obligatorisk;PLAN_PRICE_MAP-schema idocs/INTEGRATIONS.md; tog bort de oanvändaABUNDERA_SERVICE_SECRET-referenserna. - Tester: 70 godkända. Lade till 8 för Keep-Alive-prediktorer och 30-dagars kylperiod.
2026-04-16, Pro-lansering, prisstege omarbetning, externa-granskning-uppföljningar
- Pro-portal live på pro.qr.abundera.ai.
- Prisstege (månadsvis / fakturerad-årsvis per månad): Solo 12 $/9 $, Business 39 $/29 $, Team 129 $/99 $, Agency 449 $/349 $, Enterprise 1 800 $/1 500 $. Årsvis är standardvalet på prisrutan.
- Explicita månadsskanntak (50K / 250K / 1M / 4M / 25M) ersätter "obegränsat". Att överskrida taket bryter inte omdirigeringar; vi mäter överskott till nivåns egen listpris (0,06–0,18 $ per 1K skanningar).
- Varje nivå har explicit kodantal (500 / 2 500 / 15K / 75K / 500K), ingen "obegränsat*" finstil.
- 13 betalningslandningssidor tillagda: Apple Wallet, Google Wallet, EPC Girocode, BLIK, Interac, MB WAY, GCash, Maya, Kakao Pay, Naver Pay, LINE Pay, iDEAL, Boleto. Typantal 91 → 104; sitemap nu 3 224 URL:er.
- Skanpreflight utökad från 4 generiska tillstånd till 8 jobb-specifika scenarier (menyklistermärke, fönsteraffisch, lanyard, hyllskylt, lagerlapp, utomhusskyltning, förpackning, visitkort). Betyg C/D/F visar en pre-download-modal.
- /compare/-prismatris uppdelad i sex kapacitetsmatchade grupper. Konkurrentposter tillagda för Bitly, Flowcode, Uniqode, QR Code Chimp, QRTIGER, var och en daterad och flaggad för månatlig återverifiering. Per-kod-månadskostnad visad på varje rad.
- Antalsdrift-kontroll i pre-deploy-skript: skannar alla genererade sidor under
site/efter hårdkodade typantal. 91/104-driften på /compare/ levererades eftersom den gamla kontrollen bara övervakade tre sidor. - Pro-sajt-ramning: "Gratis är för att behålla. Pro är för att ändra." bärs genom /no-lock-in/, /static-vs-dynamic/, och startsidans Pro-CTA.
- Stripe-produkter skapade via det idempotenta
stripe-setup.py-skriptet (Solo + Team uppgraderade till rev 2 för de nya beloppen).PLAN_PRICE_MAPhåller både gamla och nya pris-ID:n så befintliga abonnenter förblir mappade. - Annat: kompatibilitetsdetaljremsa ovanför generatorfält, startsida förtroenderemsa, färskhetsstämpel på varje sida, /accessibility/ skelettsida, /for/ branschpresetpaket (8), Wizard/QR Lab-upptäckbarhetsledtråd, antalsaudit (120 → 336 ikoner, 24 → 50 BCD-presetar), repo-språkskrubbning (repo är privat; "Open source generatorkod" → "Klientsidekod auditbar i din webbläsare"), OG-bild regenererad med en giltig iCalendar-händelse-QR.
2026-04-15, Enkel/Avancerad, /compare/, Spara-till-Pro
- Enkel / Avancerad-toggle på startsidan. Enkel kuraterar 8 vardagstyper (URL, WiFi, vCard, E-post, Telefon, SMS, Händelse, Text); Avancerat återställer hela 104. Läget är klibbigt i
localStorage; landningssidor för icke-Enkla-typer växlar automatiskt. - /compare/ konkurrentmatris levererad: funktion-för-funktion mot QR Code Generator, QRCode Monkey och Uniqode. Daterad, åtegranskad månatligen.
- "Spara till Pro"-knapp på den fria sajten: ett-kliks befordra en genererad kod till Pro-portalen. Tillstånd rundtursar via URL-hash; osignerade användare landar tillbaka på generatorn med sitt arbete bevarat.
- Kategoriflikrullningspilar på skrivbord; mjuk rullning på mobil.
- Historik-återställning växlar automatiskt till Avancerat när en sparad kods typ inte är tillgänglig i Enkel-läge.
- Pro-CTA-text mjukad upp; anti-gisslan-historian (statisk backup-QR, 90-dagars nådaperiod, domänportabilitet) dragen framåt.
2026-04-14, Pro-portal online, 3 nya typer, autofill-fix
- Pro-portal (
pro.qr.abundera.ai) online ände-till-ände. - Tre nya fri-sajt-typer: M-PESA Kenya (EMVCo MPM), Videomöte (Zoom/Meet/Teams/Webex-genvägar), Kupong/Kampanjkod.
- GS1 Digital Link-typen stöder nu alla 12 Sunrise-2027-mandaterade Application Identifiers.
- Nya SEO-sidor:
/static-vs-dynamic/,/no-lock-in/(kontraktsenligt: 90-dagars nåd, ett-kliks-export, 30-dagars GDPR-radering, statisk backup-QR). - Autofill-fix (sjätte försöket): per-typ-fältblock är riktiga
<form>-element med sina egnaautocomplete-tokens; inaktiva formulär fårdisplay: noneså Chrome inte flaggar de off-screen-inputs. vCard/Adress/Kontakt/WiFi-Enterprise vertikal gruppering fungerar nu i Chrome, Safari, Firefox. Playwright-rigg på 0 överträdelser. - Recensionstratt: plattformsdropdown (Google/Yelp/TripAdvisor) med per-plattform platshållartext.
- Wizard: 8 brutna resultatsluggreferenser fixade.
- Header/sidfot enade via delade partials; verktygssidor (Wizard, QR Lab, Test Vectors) flyttade till samma mallsystem.
- Pre-deploy-kontroll: intern länkvalidering + rå engelsk
showToast()-vakt. - BCD-fixar: vertikal layoutstabilitet, landningssida UI-regression, RFC-länketiketter, vattenmärkesartefakt.
- Genererad landningssidans HTML är inte längre git-spårad (fortfarande deployad; git spårar mallen och generatorn).
2026-04-13, 25-språksparitet, header/sidfotsdesign, Playwright-rigg
- 6 660 engelska-fallback-nycklar översatta över 25 språkfiler. Icke-engelska landningssidor faller inte längre tillbaka till engelska strängar. Översättningspipeline omstrukturerad till en validator/planerare.
- i18n utökad till verktygssidor: Wizard, QR Lab och Test Vectors har nu 25 språkvarianter, med hreflang-taggar och sitemap-poster.
- Playwright rundturs-rigg: genererar en kod för varje typ på varje språk, avkodar canvas, kontrollerar fält. 0 överträdelser.
- Header/sidfotsdesign: smal header, 3-kolumns sidfot som matchar sign.abundera.ai-mönstret. Mobil hamburgerlåda visar nu navigeringsobjekt när den öppnas (tidigare bruten).
- Klicka QR-förhandsgranskning → zooma lightbox. Etikett visar typnamn + första input (visade tidigare rå nyttolast).
- Första-pass autofill-fix (landade ordentligt 2026-04-14).
- Typsökning ytar avancerade typer; stänger vid val; tomma kategoriflikar dolda i Populärt-läge; historikåterställning växlar typ inline i stället för att omdirigera.
2026-04-12, 26-språksparitet, 13 nya nyttolasttyper, 3 icke-QR 2D-streckkoder
- Fullständig 26-språksparitet: varje engelsk nyckel finns i varje språkfil (1 302 nycklar × 25 språk). 5 533 poster tillagda över 4 omgångar (egennamn, korta etiketter, formulärfältetiketter, toasts, ledtrådar). De 30 varumärkesbetalnings-ledtrådarna förblir engelska enligt design, URL:er och varumärkesnamn är auktoritativa på engelska.
- Deduplicering: 113 inaktuella dubblettnyckelblock borttagna över 19 språkfiler (drift från tidigare rebaser).
- Infosidans headerfix: blogg/about/privacy/changelog använde
.brand/.header-inner/.brand-text-klasser utan CSS bifogad. Bytte till samma.logo-markup som huvudappen. - 4 standardbaserade URI-typer: HOTP (RFC 4226), eSIM (GSMA SGP.22 LPA), SIP/SIPS (RFC 3261), MMS/MMSTO.
- WPA2/WPA3-Enterprise WiFi: utökar
WIFI:-formatet med EAP-metod, fas-2-autentisering, identitet, anonym identitet. - 6 regionala betalningstyper: Alipay, WeChat Pay, Swish (SE), Vipps (NO), Mercado Pago (LatAm), Payconiq (Benelux).
- 3 icke-QR 2D-streckkoder: Data Matrix (ISO 16022), Aztec (ISO 24778), PDF417 (ISO 15438). bwip-js (~1 MB) lazy-laddad endast när en av dessa typer väljs.
- 26-språks showcase-sektion tillagd på startsidan med inhemska skriftlänkar.
- Pre-deploy auditskript:
BATCH_VALID_TYPES-synkkontroll + rå engelskshowToast()-vakt. - Sidfot, landningssidor och i18n-nycklar tillagda för alla 13 nya typer (engelsk källa).
2026-04-11, BCD foto-URL-hämtning, sticky förhandsgranskning, expanderbara presets
- BCD: foto-URL-fältet hämtar nu och inlinear fjärrbilder som data-URL:er så exportcanvasen inte förorenas av cross-origin-laddningar (PDF/PNG-export fungerar nu på värdar utan CORS).
- BCD-skrivbordslayout: förhandsgranskningsruta är nu
position: sticky, så när en användare expanderar varje sektion rullar kontrollerna fritt utan att förlora synlighet på live-förhandsgranskning. (Tidigare skulle expandering av Innehåll + Layout + Alternativ trycka Visa-fält off-screen.) - BCD-presetrutnätet är nu expanderbart, visar 12 layouter initialt med en "Visa alla layouter"-toggle, speglar ikonväljarens UX.
- Tagline + QR-bildtext-inputs omdesignade: staplad etikett + full-bredd input (var trångt 150px sidocar).
- Skanbarhetsbricka höjd från
bottom: -24pxtill-18pxså den slutar täcka kopieringsknappen. - Batch-CSV-instruktioner nämner nu Google Sheets, Excel, Numbers explicit.
2026-04-08, Vertikalbranschspecifikt ikonbibliotek
- 24 nya centerlogo-ikoner (96 → 120) som riktar sig mot sjukvård, mat & dryck, teknik, finansvertikaler.
- 10 nya BCD-layoutpresetar (40 → 50): Concrete, Honey, Indigo, Luxe, Midnight II, Ocean II, Slate, Verdant, Wine, Candy.
- Cache-buster-strategibugfix:
?v=-paramar påpage-init.js+lang-redirect.jssaknades på landningssidor, vilket orsakade inaktuella modulladdningar efter deploys. Fixad.
2026-04-04, BCD gradientbakgrunder + kortbaksida + 12 nya presetar
- BCD: 12 nya presetar (Dark Mode, Pastel, Ocean, Cherry, Slate, Emerald, Amber, Mono, Rose, Midnight, Sand, Carbon). 36 presetar totalt.
- Användarstyrda gradientbakgrunder med andra färgväljare.
- Kortbaksides-rendering med företag + tagline + CTA-text.
- Sociala ikoner-rad (LinkedIn / X / Instagram).
- Adressblockrendering från vCard-fält.
- Visuella preset-thumbnails, varje presetknapp renderar nu en mini canvas i stället för en platshållare.
2026-03-29, BCD-omarbetning + 600 DPI-export
- Business Card Designer hopfällbara dragspelssektioner, sticky mobil förhandsgranskning, sticky exportsidfot.
- Hex-färginmatningar med dubbelriktad färgväljarsync, färgpalettfärgrutor.
- 4 fotoformer (cirkel, kvadrat, rundad, hexagon).
- Höjde exportupplösning till 600 DPI för skarpa utskrifter.
- Kebabmeny: Exportera mall, Importera mall, Förvåna mig, Dela kort, Skriv ut ark (10× US Letter + A4).
- Fotobeskärning tvingad kvadratisk. Mindata-vakt innan designern öppnas.
- BCD-presetar utökade: 8 nya visuellt distinkta (Neon, Art Deco, Sunset, Forest, Brutalist, Kraft, Nordic, Retro 80s). 24 presetar totalt.
2026-03-22, 20 nya QR-typer + Link-in-Bio + konkurrentjämförelser
- 20 nya QR-typer (35 → 55): YouTube, Apple Music, Google Review, Yelp Review, TripAdvisor, Venmo, Cash App, Support/Tip Jar (Ko-fi/Patreon/BMAC/Liberapay), TWINT, Bizum, PayNow (SG), PayID (AU), ZATCA (SA), BIP-21 Bitcoin + Lightning, webcal://, JPQR (JP), HKFPS (HK), DuitNow (MY), MoMo (VN), Link-in-Bio.
- Link-in-Bio renderar hela bio-sidan från QR:s URL-hash, inget backend, inget konto, ingen spårning.
- /embed/ iframe-widget (postMessage API för förälderintegration).
- /vs/ konkurrentjämförelsesidor (26-språksvarianter).
- @abundera/qr npm-paket + CLI med 25 typkodare.
2026-03-15, 96 centerlogo-ikoner + 5 nya språk
- 96 centerlogo-ikoner (12 → 96): krypto, kommunikation, media, verktyg, handel, transport, natur, mat, människor, evenemang, 12 emoji-ansikten, 18 sociala nätverksglyfer (X, Facebook, Instagram, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Snapchat, Discord, Telegram, GitHub, Threads, Bluesky, Mastodon, Twitch, Signal, Medium). Expanderbar via <details>-toggle.
- 5 nya språk (21 → 26): svenska, tjeckiska, danska, norska, finska. 1 106 nycklar var med inhemska översättningar.
- EPS-export (inbäddat JPEG Level 2 PostScript, ASCII85-kodat) för tryckeriarbetsflöden (Illustrator, InDesign, CorelDRAW).
- Animerad GIF-export (gif.js, 8-bilders regnbåge).
- BCD SVG-export, BCD JPG-export.
2026-03-08, Plattformsaudit + tillgänglighetsgenomgång
Bug-bash-sprint: 3 KRITISKA + 7 HÖGA + 10 MEDELSVÅRA problem fixade.
- CSP inline-skriptöverträdelse på alla 55 landningssidor, flyttad till
data-qr-preselectbody-attribut. - Service worker stale-cache-bug, query-strippade nycklar → full-URL + stale-while-revalidate.
- Formulärtyp-desync vid klick på BCD-pill på icke-vCard-landningssida.
- Bakgrundsbildssynlighet (opacitetsskjutreglage, moduler vid 90 % alfa, beskärningsmodalrouting).
- Beskärningsmodal mobilöverflöde.
- Hjul-zoom hijackade musrullning (helt borttagen).
- Avatar IP-läcka mildrad (referrerpolicy + no-referrer-header).
- WiFi batch öppet-nätverk-fix, MeCard batch-fältparitet, TOTP base32-validering.
- WCAG 2.5.8 tryckmål (44×44 min på grov pekare).
- aria-hidden-genomgång på 87 dekorativa SVG:er.
- prefers-reduced-motion respekt.
- Toast aria-live, focus-visible-ring, beskärningstangentbordsnavigering, spillmeny Hem/Slut-tangenter.
- Font preload-optimering.
2026-03-01, 15 standardbaserade typer + skanbarhetsvalidator
- 15 nya QR-typer: TOTP/2FA, Schweizisk QR-räkning (med obligatorisk röd schweizerkors-överlagring), PIX (Brasilien), PromptPay (Thailand), EMVCo generisk handlare, Lightning BOLT11, SSH publik nyckel, OpenPGP publik nyckel, WireGuard-konfig, GS1 Digital Link, Spotify, Fediverse (Mastodon/Bluesky/Nostr/Matrix/Threads), Geo URI, Magnet, fullständig iCalendar.
- Skanbarhetsvalidator, kör jsQR över renderad canvas och varnar vid avkodningsfel.
- Utskrivbar URL-fallback, toggle lägger till mål-URL som klartext under QR.
- jsQR lazy-laddad (sparar 262 KB ivrig nyttolast).
2026-02-22, Flerstopps gradienteditor + per-öga-färger
- Flerstopps gradienteditor (upp till 5 färger).
- Per-öga oberoende inre/yttre färg.
- Bakgrundsbild QR-läge (opacitetsskjutreglage, EC=H tvingad automatiskt).
- Nyp-zoom på förhandsgransknings-canvas.
- Web Share API för QR-koder och visitkort.
- WebP-exportformat.
- Ångra/gör om (Ctrl/Cmd-Z, 50-stegs buffer).
- Slumpmall-knapp ("Förvåna mig").
2026-02-15, Sekretess- och säkerhetssidor + i18n-härdning
- 4 nya förtroendesidor: /privacy/, /terms/, /security/, /about/, på alla 21 språk.
- /.well-known/security.txt publicerad.
- 29 hårdkodade engelska strängar ersatta med
qrT()-anrop; ~100 nya i18n-nycklar översatta till alla 21 språk. - Inline-skript externaliserade, CSP härdad (unsafe-inline borttagen).
2026-02-08, Modal a11y + fokushantering
- Fokusfälla på alla 3 modaler (beskärning, BCD, anpassade dialoger).
- Tangentbordsnavigeringspolering över BCD-spillmenyn, språkväljaren och typväljaren.
- Kritiska buggfixar: SVG-ramkanter renderades en pixel fel, XSS-sårbarhet i batch-zoom-förhandsgranskning,
btoa()Latin1-fel vid presetlogo-klick.
2026-02-01, Första lansering
- Lanserade Abundera QR med 20 QR-typer, 40 mallar, batch CSV-generering (500 koder), Business Card Designer (300 DPI), 20 språk, 420 statiska landningssidor.
- Integritet-först-hållning: 100 % klientsidan, inga konton, ingen spårning, inga dynamiska omdirigeringskoder.