Trygd hjá qub
Gildiskomudagur: 23. september 2026 Útgáva: 1.1 — endurskoðan av samsvari við íverksetanina
Fyri kanningarfólk — skjótt uppslagsverk:
- Hvar at senda fráboðanir: support@qub.social við evnis-forskoytinum
[SECURITY].- Hvat at innseta: veikleikan, stig at endurskapa, og eitt og hvørt prógv-av-hugskoti.
- Okkara svar: vit viðganga móttøku innan 3 arbeiðsdagar og royna at senda eina rætting innan 90 dagar.
- Trygg Havn: vit fara ikki at fylgja lógliga atgerð ímóti góðtrúgvar kanning sum fylgir reglunum í §12 (eingin atgongd til dáta sum ikki eru tíni, eingin tænastubrenkilsi, eingin varðveiting av fingnum dátum umframt tað sum tørvur til at vísa trupulleikan, gev okkum eitt hóskandi uppljóstingarvindeyga).
Allir smálutirnir eru í §12 (Samskipað Uppljósting).
Hvør Vit Eru
qub.social verður rikið av VSPRY AUSTRALIA PTY LIMITED (ABN 41 631 026 330), Level 38, 71 Eagle Street, Brisbane QLD 4000, Avstralia. Tilvísingar til "qub", "vit", "okkum", og "okkara" merkja tann partafelagsskap.
Trygdarsamband: support@qub.social við evnis-forskoytinum [SECURITY].
1. Okkara Atferð
qub er álitisinnistovnur. Vøran er einkisvirði um hon ikki er trygg, so trygd er ikki ein eginleiki — hon er undirlagið. Henda síða lýsir, í áþreiðiligum orðum, hvussu vit verja okkara teknsamansetan, tíni dáta, og heilleikan av innsiglaðum tilfari.
Virðið av einari váttanarligari tíðarbundnari binding veksur, so hvørt meira av alnetinum verður maskinframleitt. Ein váttað goymslutransaktión ella eitt ankar í gjøgnumskygni-logginum kann staðfesta, at dulmálsteksturin var til í seinasta lagi við blokktíðina; innsiglaða artefaktið prógvar fyri seg innihaldsheilleika, binding til drand-umfar og allar høvundaundirskriftir. At halda hesar fullyrðingar atskildar er markið, sum henda síðan verður hildin til.
Vit biðja teg ikki um at líta á okkum. Vit hønna soleiðis at tað álit sum kravt verður av okkum er so lítið sum gjørligt, og har álit er kravt greiða vit nágreiniliga frá hvat verður litið á og hví.
Tríggjar grundreglur dríva eina hvørja hønnunaravgerð:
- Minka um tað, sum ambætarin kann síggja. Í vanligu boðleiðini í kagaranum verða reintekstur og umbúgvingarlykil verandi á tíni eind. Innsigling á Builder-ambætarasíðu, samundirskriving av sáttmálum og greitt virkjað endurfáing hava onnur álitsmørk, sum eru lýst niðanfyri. Har vit goyma metadáta, avmarka vit tey til tað, sum valdi eginleikin krevur.
- Ger brot lokalt avmarkað. Eitt brot av einum hvørjum einum eind (okkara ambætari, teldupostveitarin, ein drand-knútur) skuldi ikki avdúkað innsiglað tilfar sum enn ikki hevur náð sína avdúkingartíð.
- Ger protokollin endurskoðiligan. Tað innsiglaða artefakt er vátteligt enda-til-enda við almennum dulmáli. Tú tørvar ikki at líta á qub tænastuna fyri at vátta eitt qub artefakt.
2. Hóttanarmodell
2.1 Hvat Vit Verja Ímóti
- Ein álopari, sum fær lesiatgongd til okkara goymdu ambætaradáta áðrenn avdúking. Í vanligu privatu kagaleiðini fær hann metadáta og ógjøgnumskyggd innpakkað bæti, ikki reintekst ella K. Henda verjan fevnir ikki um K, sum greitt er varðveitt til endurfáing, almenna/bera veiting eftir drand-umfarið ella reintekst, sum fyribils verður latin Builder
/api/v1/seal- og sáttmálaleiðunum. - Ein álopari sum tekur ferðslu millum tín kagara og okkara innistovn. TLS endar á okkara CDN-jaðara; innsiglaðir nýtilbúrðir eru longu bronglaðir áðrenn flutning.
- Ein álopari, sum manipulerar eina goymda nýttulast. Váttan av ytru umbúgvingini (tá hon er til), kanonisk avkoding,
body_hash, endurleiðing avqub_id, umfarsbinding og møguligar undirskriftir fáa manipulering at falla í váttan; vísarin noktar at vísa hana. - Ein álopari sum roynir at binda ein falskbúgvin høvundateldupost at einum undirskriftarlykli. Teldupostváttan krevur ognarskap av bæði tí privata undirskriftarlykli og einum eintíðar-tekni sent til teldupostkassan.
- Ein brotin drand-vita-rakstrarmaður. drand-netið nýtir tørskuldsverð BLS-undirskriftir tvørtur um fleiri óheftar rakstrarmenn; ein minniluti kann ikki falskbúgva tíðlig-sleppi-undirskriftir.
2.2 Hvat Vit Ikki Kunnu Verja Ímóti
Vit eru ærlig um okkara mark. qub kann ikki verja ímóti:
- Einum broti av tíni eind áðrenn tú innsiglir. Lokalir tangentaloggarar, illgrunaðar kagaraútvíðkanir, ella likamlig atgongd til eina ólásta eind kunnu fanga klártekst á samansetingartíðini.
- Einum brot av drand-tørskuldinum. Fleiri óheftar fyritøkur reka drand-netið beint fyri at gera hetta torført, men tað er ikki dulmálsliga ómøguligt: samansvørja nóg mangir rakstrarmenn, kundu teir úttiknið tíðarláslyklar tíðliga.
- Útgávueginleikar hjá einum gildugum avriti. Eitt alment/bert qub kann avkrypterast eftir sítt drand-umfar. Eitt privat/innpakkað qub krevur harumframt K; ein og hvør, sum fær bæði goymdu bætini og K, kann avkryptera eftir umfarið. Skrásetingar í varandi goymslu og ankraðum loggi kunnu ikki kallast aftur bara við at taka tær av vøruflatuni hjá qub.
- Einum globalum mótstøðumanni sum brótur tað undirliggjandi dulmálið (AES-GCM, BLS12-381 pairing-fyritreytir, SHA3-256, ML-DSA-65). Falla hesar grundeindir, hevur dulmálsvistskipanin í breiðum stóri trupulleikar.
3. Kagara-síðu Dulmál
Í vanligu boðleiðini í kagaranum verður innihaldið krypterað áðrenn uppleggingarumbønina. Tvær greitt lýstar leiðir eru øðrvísi: Builder /api/v1/seal sendir við vilja reintekst og kundaframleitt K til Worker fyri innsigling í minni, og sáttmálasviðseting/-samundirskriving sendir undirskrivaða skipaða sáttmálan til tænastuna, so hon kann gera tvíliðaða artefaktið liðugt. Hvørgin undantøkan skal mistakast fyri enda-til-enda-kryptering á kagaleiðini.
3.1 Tíðarlás-bronglan
qub nýtir tlock — samleikabygda bronglan lykla'a til ein komandi drand-vita-umfar. Bronglan gongur fram í tínum kagara brúkandi drand-netsins almenna lykil; bronglan-upp-lykilin verður sleptur almennur av drand-netinum bara tá tað ætlaða umfarið verður rokið. Eingin, íroknað vit, kann endurbyggja bronglan-upp-lykilin fyrr.
Vit ætla okkum quicknet-keðjuna:
- 3-sekunds umfarsskeið
- Ókeðjaður háttur (hvørt umfar er óheft)
- BLS12-381 G1-undirskriftir
- Keðjuhash
52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971
quicknet-keðjunnar almenni lykil og upprunatíð eru samansettar inn í kagaran. Vit heinta ikki keðjuparametrar á koyringartíð, so ein illgrunaður knútur kann ikki seta ímillum eina keðju vit stýra.
3.2 Samsvirkin Bronglan
tlock-skipanin umvevur ein AES-256-GCM tilfarslykil. AES-GCM veitir vátta bronglan: ein einasti bit umvendur í dulmálstekstinum fær bronglan-upp at bregðast, heldur enn at framleiða tigandi-spiltan klártekst.
3.3 Kanonisk Raðføring
Protokollbygnaðir verða raðfestir við deterministiskum CBOR (RFC 8949 §4.2 kjarna-deterministisk enkoding). Tvær íverksetanir, sum enkoda sama logiska bygnað, gera sama CBOR. Heilar innsiglaðar nýttulastir eru ikki deterministiskar: tlock og krypteringin í ytru umbúgvingini nýta nýggja tilvild. body_hash verður roknað yvir ráu likamsbætini, meðan kanonisk enkoding ger umgevandi undirskrivaðu/tráðabygnaðirnar eintýddar.
Vit skrivaðu CBOR-enkoderin við hond fyri bæði okkara kagara- og ambætara-útgávur heldur enn at lúta á eitt generelt raðføringarsavn — kravið er nágreiniligheit, ikki ergonomi, og eginleikaroyndir koyra í báðum útgávum at vátta at tær samsvara.
Ein afturgangsroynd sannførir at tað kanoniska tráðsniðið inniheldur onga qub-vørumerkis-bit-rað umframt protokoll-grundeindar qub_id-liksins-lykilin. Tráðsniðið er av ásetingi vørumerkis-óheft — ein og hvør samsvarandi kagari (okkara ella ein triðjiparts) kann sýna eitt og hvørt qub frá varandi goymslu, óheft av hvør útbreiðsla innsiglaði tað. Royndin er ein snúgvitráður sum forðar einari komandi broyting í at av óvart baka eina vørumerkistilvísing inn í bit sum, eitt sinni í varandi goymslu, ikki kunnu umskrivast.
3.4 Liksins-Hashing og Fyri-Avdúkan Heilleiki
Hvør innsiglað nýttulast ber eitt SHA3-256-hash av ráu likamsbætunum. Hashið er bundið í qub_id og, tá høvundaundirskriving er virkin, í V2-undirskriftsinntakið. Ein vísari endurroknar tað eftir avkryptering og avvísir misjavna.
Tað 32-bæta innihaldskennið qub_id verður leitt av einari 108-bæta forímynd, sum fevnir um protokollútgávu, innihaldsslag, stovningar- og upplásingartíðarmerki, møguligt úrslitstíðarmerki (ella null-sentinel), ætlað drand-umfar, body_hash og SHA3-256 av møguligu NFC-normaliseraðu yvirskriftini. Ein gátt ella CDN kann ikki broyta nakran bundnan teig samsvarandi og framvegis standa endurleiðingina. Yvirskriftir eru avmarkaðar til 100 NFC-kotupunkt og verða avvístar fyri felags fíggindaliga/stýrandi kotupunktsflokkin (íroknað bidi-yvirstýringar, nullbreiddartekn, taggblokkin, BOM, C0, C1 og DEL).
3.5 Undirskriving (ML-DSA-65)
Høvundaundirskriving nýtir ML-DSA-65 (FIPS 204), eitt NIST-staðlað eftir-kvanta undirskriftarskipanarverk. Vit valdu av ásetingi eina eftir-kvanta grundeind fyri undirskriving tí innsiglað tilfar er varandi: ein undirskrift sum váttar í dag má framvegis vátta áratíggju framyvir, íroknað eftir at stór-skala kvanta-telvur verða nýtiligar.
Undirskriftslyklar verða gjørdir í kagaranum. Staðbundna loyndarmálið verður pakkað inn undir einum WebCrypto-lykli, sum ikki kann takast út, áðrenn goymslu í IndexedDB. Verður kontubundni eginleikin fyri endurfáing tvørtur um eindir nýttur, verður ein AEAD-krypteraður flytførur lyklabunki goymdur á ambætarasíðuni; dulmálsteksturin hjá loynilyklinum er bundin at óbroytiliga kontukenninum, og tænastan váttar almenna umslagið men kann ikki avkryptera loyndartilfarið. Rá privatlyklabæti verða ikki send til ambætaran. Almennir lyklar og váttanarskrásetingar verða goymd til váttan og samleikavísing.
Tann sama í-kagara tlock-bronglan-upp galdur inni í qub-embedinum: tá eitt innsiglað qub verður sýnt gjøgnum <qub-embed> á eini triðjiparts síðu, hendir bronglan-upp framvegis í embed-iframinum í kagaranum hjá vitjandi. Embedið broytir ikki álitismodellið — klártekstur verður ongantíð bronglað-upp á einum qub-ambætara.
3.6 Almenn Áskriving — Frívillig
Innsiglað qub bera ongan á-keðju-vísara til sín høvund uttan so at høvundurin beinleiðis velur at festa ein. Tá tú innsiglir eitt qub sendir uppslagsappin eitt Author-goymslutekn (eitt 64-stava hex-fingramerki av tínum almenna undirskriftarlykli) bara tá "Almenn áskriving" er virkjað á dagfestingarveljarastykkinum. Við sløkkjaranum frá — sjálvgivið — verður einki Author-tekn skrivað og qubið er óáskrivað í varandi goymslu: einki í goymslu knýtir uppleggið at tínum handfangi, tínum telduposti, ella tínum øðrum qub. Við sløkkjaranum á, loysir fingramerkið upp í títt @handle gjøgnum váttanarkedjuna í §6.3 / §10 og kagara-niðurteljingin sýnir "Innsiglað av @{handle}" áðrenn avdúkan.
Hetta er ein ásetilig vørn ímóti tann uppteljingarváða sum eitt altíð-á Author-tekn skuldi skapað: ein triðjipartur sum lærur eitt høvunda-fingramerki kundi annars leita í varandi goymslu eftir tekninum og endurbygt tann høvundans fulla søguliga úttoka. Frívillig áskriving letur tann rás aftur — bara qub sum høvundurin beinleiðis velur at áskriva síggjast undir einum fingramerki í varandi goymslu.
/u/{handle}-vangamyndasíðan er eitt vátta-samleika-kort — handfang, frívilligt vísingarnavn + URL, "vátta teldupostur"-pilla (eingin adressa), og tann dulmálsliga fingramerkis-stuttformurin. Hon listar ikki qub hjá einum høvundi. Vitjandi sum vilja síggja eitt ávíst qub frá einum høvundi fylgja tann qubsins veitingar-URL beinleiðis.
3.7 Ytri Bronglan-umslag
Sjálvt eftir at tíðarlásavkryptering er støddfrøðiliga møgulig—tá drand-undirskriftin fyri bundna umfarið er útgivin—hevði tað kanoniska tíðarláslagið einsamalt latið ein indeksara fjøld-avkryptera uppdagilig qub. Privat veiting stongir hesa rásina við einum eyka symmetriskum lagi rundan um tíðarlæstu bætini (Protokollur §13). Almenn veiting letur við vilja umbúgvingina vera burtur, so fráboðanir, embed og uppdagingarleinkjur virka uttan loyniligt brot.
Umslagið nýtir AES-256-GCM, eitt NIST-staðlað vátta dulmál, við einum nýggjum 256-bita lykli K gjørdum fyri hvørt qub av tín kagara sín CSPRNG. K er bundið at qubsins qub_id sum vátta ískoytisdáta, so ein lykil frá einum qub kann ikki endurbrúkast at brongla upp eitt øðrvísi qub.
K kemur ikki til okkara ambætarar í vanligu privatu kagaleiðini. Tað verður enkodað í URL-brotið á deilingarleinkjuni (https://qub.social/c/<tx_id>#<base64url(K)>). Kagarar senda ikki URL-brot til ambætarar—RFC 3986 setur brotið uttan fyri umbønina—so qub.social, goymslugáttir, CDN og umbønareftirlit eru blind fyri K í hesi leiðini. Goymda OuterWrapper er kenniligt skipað CBOR, men váttaði dulmálstekstteigurin fjalir innara SealedQub-bygnaðin og kann ikki latast upp uttan K.
Netto-avleiðingar:
- qub.social kann ikki avkryptera vanligar privatar kagainnsiglingar úr goymdum dátum einsamøllum. Eitt dátugoymslubrot gevur ógjøgnumskyggjan dulmálstekst uttan K. Almenn qub og qub við virkjaðari endurfáing hava við vilja aðra útseting.
- Tap av brotinum kann ikki bøtast uttan ein valdan endurfáingarkanal. Goymir tú eina privata leinkju uttan brotið og hevur ikki virkjað endurfáing, verður qubið ólesiligt gjøgnum leinkjuna. Innsiglingargongdin vísir tí eina greiða "goym hesa URL"-ávaring.
- Frívillig endurfáing. Velur tú at fáa høvunda-lívsleypsteldupostar fyri eitt qub OG samsvarar telduposturin tín vátta samleika, taka vit ímóti K við uppleggið, goyma tann fulla veitingar-URL'in á tín samleiks innsiglaða-søgu-skjali, og brúka tað sum leinkjuna í innsiglingar-váttanar-teldupostinum. Hetta býti — ein ambætara-síðu endurfáingarrás í býti fyri okkurt enda-til-enda reinleika — gongur bara í gildi á greinaðum frívilligum vali og bara fyri tað qubið. Sjálvgivna støðan er dulmáls-rivan.
Workarens ambætara-síðu /api/v1/seal-endapunkt (brúktur av KI-agentum og øðrum API-kallarum) krevur, at kallarin framleiðir K við einum CSPRNG, varðveitir hann lokalt, og veitir hann sum wrapper_key_b64url. Workaren sær av neyðini bæði klártekst og K í minni á hesi uttrýkiliga álitnu leið, men varðveitir hvørki. Ein kravdur Idempotency-Key forðar einum tapdum svari í at skapa eitt annað rindað qub, meðan tann kallara-varðveitti K kann sameinast við tann endurspældu brotleysu URL'ina. Hetta er øðrvísi enn tann sjálvgivna kagara-leiðin, har K náar ongantíð Workaran uttan so at høvundurin uttrýkiliga virkjar endurfáing.
4. Flutningur og Jaðari
4.1 TLS
Kagaraferðsla til qub verður latin umvegis HTTPS á Cloudflare-jaðaranum. Svør seta HTTP Strict Transport Security (max-age=63072000; includeSubDomains; preload). Nákvæma samrádda TLS-útgávan og dulmálssamansetingin verða stýrd av virkna jaðarauppsettinum heldur enn staðfest av umsóknarkotuni. Vit vísa ongan serstakt beinleiðis tøkan upprunaambætara.
4.2 Tilfarstrygd
Tann samansetti kagarin verður tæntur við strangum tilfarsslags- og kakaheytum. SPA-skelin er ein einasti uppruni. Vit embedda ikki triðjiparts skript fyri tøl ella lýsing. Tey tvey triðjiparts viðkomupunkt í vøruni eru bæði tröngt ávísað: keypsflogið fer av SPA'inum heilt við einum heilsíðu-víðiveiðing til Stripe-hýsta útgreiðslu (https://checkout.stripe.com/…) — Stripe sín UI koyrir ongantíð í okkara uppruna og vit síggja ongantíð kortdáta — og innsiglingarflogið lesur Cloudflare sín Turnstile-eind, eitt privatlívs-verjandi CAPTCHA-mótsvar sum Cloudflare sýnir inni í sínum egna sandkassaða iframi. Hvørgin partur kann lesa restina av síðuni.
qub-embed-iframið (tænt frá qub.social/embed/{tx_id} og lisið inn í triðjapartssíður av embed.js) hevur sína egnu Content-Security-Policy. connect-src-loyvilistin er 'self', https://qub.social, https://arweave.net, https://ar-io.dev, https://permagate.io, https://api.drand.sh og https://drand.cloudflare.com. Iframið koyrir við sandbox="allow-scripts allow-top-navigation-by-user-activation" (ikki allow-same-origin): hýsingarsíðan kann ikki lesa DOM tess, og tað kann ikki stýra hýsingarsíðuni uttan eftir eina brúkaraatgerð.
4.3 CORS og Heintingarvíddi
Kagarakundin gerir heintingarumbønir bara til:
- Okkara egna API (
api.qub.socialog staging-javnvirðir) - Goymslugáttir (bara lesing, fyri at heinta innpakkað-privat ella ber-almenn bæti—§3.6)
- drand-vita-endapunkt (bara-lesa, fyri avdúkingartíð-umfars-undirskriftir)
Endamálini hjá embedinum verða framfylgd av CSP tess. Ætlaðu endamálini hjá høvuðs-SPA'ini eru fastsett í kotu og uppseting og verða roynd av kagara- og samanknýtingarkanningum; Subresource Integrity er ikki eitt eftirlit við netendamálum.
Embedið heintar goymd bæti gjøgnum loyvdu qub-/goymsluupprunarnar, tekur privatar nýttulastir úr umbúgvingini í kagaranum við K úr URL-brotinum og heintar umfarsundirskriftir við avdúking frá teimum báðum loyvdu drand-upprununum. Høvuðs-SPA'in nýtir fýra-endapunkts afturfallssettið í config/drand-endpoints.json (drand.cloudflare.com, api.drand.sh, api2.drand.sh og api3.drand.sh), so brek á einum endapunkti ikki forðar avdúking. CSP hjá embedinum noktar sambond uttan fyri greiða listan.
5. Ambætara-síðu Innistovnur
5.1 Tænarleysur Jaðari
Okkara API koyrir heilt á einum stýrdum tænarleysum koyringartíðum á jaðaranum. Tað eru ongar VM'ar, ongir goymar, og ongar varandi ambætaragongdir vit umsita. Hetta minkar drúgt tað áloparøkið vit eru ábyrgdar fyri: vit reka ikki eitt OS, ein vevambætara, ella eitt umsóknarkoyringartíð sum vit mugu rætta.
Ein sjálvstøðug almenn-CORS middleware verður brúkt Access-Control-Allow-Origin: * til tann fylgjandi innførda stíggin sett: /embed.js, /embed/v1.js, alt undir /embed/; /api/v1/telemetry; /api/v1/openapi.json; alt undir /api/v1/qub/ (inklusive bytes, metadata, prógv, luttøka, boða frá, og push undirleiðir); alt undir /api/v1/log/; almenni fíggjarviðgerðir leitan undir /api/v1/handle/; og almennur avatar les undir /api/v1/identity/avatar/. Tær lúkað ferðslutillatingarnar GET, POST, og OPTIONS við Content-Type bønuhøvuð. Hetta forfall-grundaða yvirborðið er breiðari enn bert tey kallini, ið innleggingin nú ger, so hvør jústari niðanfyri hesi forfall má framhaldandi fremja sítt egna váttan, avtankan, takmørk fyri tíðarskeið og misnýtslufrið.
Øðrum API-leiðum varðveita qub.social-avmarkaðu CORS-ætlanina.
5.2 Goymsla
- Metadáta- og samskipanargoymslur halda samleika- og váttanarskrásetingar, rættindi og gjaldstilvísingar, API-lyklaskrásetingar, noktilista, setur, idempotensstøðu, køir og tíðar-/samstundisavmarkingar. Ymisk samsvarskrøv nýta KV, D1 og Durable Objects heldur enn eina alheimsgoymslu.
- Okkara lutgoymsla er eisini ein varandisgrund. Hon heldur nákvæmu innpakkaðu ella beru qub-bætini, sum uppleggingin váttar, bløð í gjøgnumskygni-logginum og Merkle-knútar lyklast eftir koordinatum, ankartilfar, skipaðar hendingarloggar og svar-/metadátakøkur.
- Varandi almenn goymsla heldur ankur í gjøgnumskygni-logginum og, fyri T3-leiðina ella frestaða almannakunngering, einstakar qub-transaktiónir. Vit reka ikki tað netið. Privatar kagarnýttulastir eru ógjøgnumskyggdar har, uttan haldarin eisini hevur K; almennar/berar nýttulastir hava við vilja ikki hetta eyka leinkjuførleikalagið.
Vanliga boðleiðin í kagaranum goymir ikki reintekst á qub-innistovni. Builder /api/v1/seal viðger reintekst og K í minni men goymir hvørki. Sáttmálasviðseting má goyma undirskrivaða skipaða sáttmálan, til hann er samundirskrivaður, tikin aftur ella farin úr gildi. Vald endurfáing goymir ein veitingarførleika (alla leinkjuna við broti), so hon kann endurfáast seinni. Tí lýsa vit ikki alt goymslulagið sum "bara metadáta".
5.3 Loyniorð
Loyniorð (undirskriftsveski, veitaratekn og HMAC-lyklar) verða latin gjøgnum loyniorðs-/umhvørvisbindingar á pallinum heldur enn keldustýring. Koyrikomponentar fáa bara bindingarnar, teir hava tørv á. Mannagongdir fyri skifti og yvirlapp eru ymiskar eftir komponenti; vit pástanda ikki eina alheims sjálvvirkna ella endurskoðaða skiftisskipan.
5.4 Logging og Tøl
Skipaðir JSON-loggar verða skrivaðir á hvørja API-umbøn við einum samsvars-kenni víst í X-Request-Id-svarsheytinum. Kagara-tøl eru nafnleys — einki eindarkenni, eingin IP-adressa, einki tilfarsforhandskoyg. Hendingar verða buffaðar í minni og tømdar á einum besta-roynd grundarlagi; ein brostin tøming verður beind burtur, ikki roynd umaftur. Tøl eru hønnað at vera sløkkjanlig á netalagnum uttan at ávirka vøruna.
6. Váttan
6.1 Segla-leinkju Innritan
Innritan nýtir eitt HMAC-undirskrivað einnýtistekn, sum verður sent til tín teldupostkassa. Leinkjan er gildug í 15 minuttir, og innloysingin verður kravd atomiskt, so samstundis ella endurtikin nýtsla fellur afturlatin. Eftir eydnaða innritan fær kagarin eina ógjøgnumskylda __Host-qub_session-køku við Secure, HttpOnly, SameSite=Strict og Path=/.
Setur hava 30 daga óvirkismark og 90 daga algilt mark, skifta eftir 24 tímar og góðtaka bara beinanvegin undanfarna ættarlið í 120 sekund sum trygd fyri mist svar. Viðkvæmar kontubroytingar krevja samleikiprógving seinastu 10 minuttirnar. HMAC-undirskriftsloyndin er ein pallbinding; lesiatgongd til metadáta einsamøll ger ikki eitt gildugt tekn.
6.2 API-Lyklar (Menningarfólka-lag)
Menningarfólka-API-lyklar nýta forskoytið qub_sk_ fyri lætta kenning og grepbarni. Hvør lykil:
- Er bundin at einari kontu, umfangi og einum valfríum IP-CIDR-loyvilista
- Verður bara vístur ráur eina ferð; varandi skrásetingar goyma SHA-256-hashið, ikki bera loynilykilin
- Kann skiftast við einari ein tíma náðikortlegging, har gamli lykilin loysist til avloysaran
- Hevur óhefta kvotu- og tíðaravmarkingarstøðu
- Verður ongantíð loggaður í fullum; loggar skráseta bara lykilkennið
Umsitara-lykla-stýringar-endapunkt eru gáttaðir aftan fyri ein serskilt umsitaraprógv.
6.3 Teldupostváttan (Høvundaundirskriving)
At binda eina teldupostadressu at einum undirskriftarlykli krevur:
- Ognarskap av tí privata undirskriftarlykli (tú undirskrivar eina avbjóðing)
- Ognarskap av teldupostkassanum (tú innsetur eitt 6-tals tekn sent við telduposti)
Antaðhvør eitt sær er ónóg. Afturkalling er eitt undirskrivað skjal á tíni egnu kontu og kemur í gildi beinanvegin; kagarar sum heinta váttanina síggja tann afturkallaðu støðuna og sýna samsvarandi.
7. Gjøld
Kortinnsláttur og gjaldsviðgerð fara fram í útgreiðsluni hjá Stripe. Vit fáa ongantíð kortnummur, gildisdagfestingar ella CVC. Vit goyma Stripe-kunda- og haldarakennir, haldarastøðu og tíðarskeiðsdáta á rættinda-/API-lyklaskrásetingum, so atgongd, endurnýggjan, máting, uppsøgn og endurgjald kunnu samskipast. Privatlívs- og trygdarfrágreiðingar hjá Stripe stýra teirra viðgerð av gjaldsdátum.
Innsiglingar-endapunkturin kannar rættindaskjalið ímóti eindarkenninum og, fyri innritaðar brúkarar, ímóti tí sambundna samleikanum. Eitt rættindi kann ikki endurbrúkast tvørtur um eindir uttan at brúkarin beinleiðis endurinnsetir tað gjøgnum segla-leinkju-innritan.
8. Misnýtslumótstøða
8.1 Bot-uppdaging
Innsiglingarflogið er gáttað av einum privatlívs-verjandi CAPTCHA-mótsvari sum nýtir ikki kakur fyri raking og fingrasporar ikki fyri lýsing. Ein brostin avbjóðing verður noktað av okkara jaðara-Workara áðrenn nøkur innsiglingar-síðu viðgerð hendir.
8.2 Tíðaravmarking
Tíðaravmarkingar verða framfylgdar á fleiri løgum:
- Fyri-IP og fyri-lykla mark á innsiglingar-, lesa-, og váttanar-endapunktum
- Fyri-teldupost mark á segla-leinkju-umbønum (forðar teldupostkassa-fløðing)
- Fyri-mótpart mark á sáttmála-innbjóðingar-teldupostum (tíggju fyri móttakaraadressu fyri UTC-dag, tann fremsta spamm-relæ-minking; ærligir sáttmálar náa nærum aldri marki)
- Fyri-IP mark á tøla-innsending
Teljarar og atomisk krøv eru býtt millum KV, Durable Objects og tíðaravmarkingarbindingar á pallinum eftir samsvarskrøvunum hjá endapunktinum. Avmarkaðar umbønir fáa 429; endapunkt, sum kunnu rokna eitt endurroyndarvindeyga, hava Retry-After.
8.3 Tilfarsstýring
Standard brávegin til at leggja upp í vafran kann ikki skanna likamið: hann tekur bert ímóti klient-seallaða førið. Byggjarin /api/v1/seal leiðin sær greiðtekst brádliga, og avtalsstiging heldur strúkturerðum treytum til endaliga staðfesting, men tey treystisundanátøkini broyta ikki tann generella bita-blaindu upplastingssniðin til eina innihaldsfræsara. Rakstrar mátan er ein nevniskrá á sjónleikaralagnum: ein avbyrgd qub verður refsað av okkara sjónleikara, óansæð um áviknað innihald heldur fram við at vera tilgengiligt. Avbyrging tekur ikki aftur varandi bita, transparens-skjaladátur, ella persistant netdata, sum longu eru útgivin.
Misnýtslufráboðanir eru tíðaravmarkaðar brúkandi eitt einvegis hash av meldarans IP; vit goyma ikki IP'ir í greiðum fyri hetta endamál.
9. Veitingarkedja og Gerðarheilleiki
9.1 Teknsamansetan-festing
Samansetingar- og koyritíðarútgávur eru festar í uppsetingini í goymslubókini, og treytir verða loystar gjøgnum innritaðar lásfílur. CI kannar, at framleiddar fílur eru dagførdar, og royndir, sum eru viðkvæmar fyri endurskapandi gerð. Vit koma ikki við sterkari fullyrðing um, at hvør rein gerð er bita fyri bita eins á øllum stuðlaðum maskinum.
9.2 Lints og Støðug Greining
Arbeiðsplássið virkjar okkara strangastu lint-bólkar á deny-stignum. CI viðger hvørja ávaring — íroknað skjalaleinkju-ávaringar — sum ein gerðarbrest. Hetta er av ásetingi: vit nýta lint-strangleikan sum ein snúgvitráð fyri smáar afturgangir.
9.3 CI-Gáttir
CI-arbeiðsgongdin fevnir um snið og strangar lints; Rust-, WASM-/kagara-, Worker-, embed- og API-royndir; slagkanning; kotudekning; mutatións-/invariantkanningar; statiska greining av treytum og arbeiðsgongdum; i18n-lyklar, dekning, drift og fíggindalig kotupunkt; dagføring av framleiddum skjølum/API/vitanargrunni; skjalayvirlit og innanhýsis leinkjukanningar; stílsíðu- og búntamørk; og OpenAPI-váttan. Summar kostnaðarmiklar mutatiónsroyndir koyra eftir ætlan heldur enn við hvørja upplegging.
Eitt einstakt kravt ci-samansvar verður reytt, um nakað kravt arbeiði miseydnast. Vard greina- og útbreiðsluarbeiðsgongd brúkar hetta úrslitið heldur enn at tvífalda eina minni trygdargátt.
9.4 Broytingarroyndir
Eitt vikuligt arbeiði koyrir broytingarroyndir ímóti tey trygdar-kritisku reinu modulir: hashing, kanoniskt CBOR, innsigling, upplásing, tráðsniðs-nýtypir, protokoll-typa-váttarar, og handfangs-navnarúmið. Broytingarroyndir svara "fangar okkara royndarsett smátt skeiva kotu?" — bregðast ein broytt útgáva framvegis allar royndir, vita vit at vit hava eitt royndartekkings-hol og taka av tí.
9.5 Git-Hooks
Lokalir hooks (pre-commit, pre-push) spegla CI-gáttirnar so afturgangir verða fangaðar áðrenn tær fara av menningarfólksins maskinu. Hooks verða innsettir gjøgnum eitt goymslubókar-skript; teir verða ikki gingnir uttan um í okkara verkætlan og CI'ið er tann myndugleikkravda gáttin um teir verða sleptir.
10. Royndir
Trygdar-kritisk kota ber tríggjar sløg av royndum:
- Eindroyndir vátta væntaða atferð á kendum inntøkum, íroknað royndarvektorar úttiknar úr protokoll-spesifikatiónini.
- Eginleikaroyndir framleiða túsundtals tilvildarligar inntøkur og sannføra ávirkur: kanonisk CBOR-rundferðir, undirskriftarváttanar-rundferðir, teldupost-bindingar-fyrisøgnir, sáttmála-viðganga-ávísleiki.
- Tvør-útgávu-royndir vátta at okkara kagara- og ambætara-útgávur samsvara bit-fyri-bit á kanoniskum enkodingum. Hetta fangar frávik millum tær báðar útgávur áðrenn tað náar framleiðslu.
11. Greina- og Sleppi-Hygina
Eginleikagreinar flyta bara staging fram gjøgnum eina Gate 1 pull request: kravda ci grøna, onga óloysta broytingarumbøn, ongan samanrenningarósemju og eitt reint endurskoðað træ; samanrenningin er squash-og-strika. main flytur bara fram gjøgnum Gate 2 staging → main pull request og varðveitir ættina við einum merge commit. Beinleiðis uppleggingar á greinina eru ikki útgávuarbeiðsgongdin.
Staging- og framleiðsluútbreiðslur verða settar í gongd úr samsvarandi vardu staging- og main-greinastøðunum eftir CI. Kota úr pull request og heimildir hjá forks fáa ikki útbreiðsluloyniorð.
Loyniorð brúkt í útbreiðsluverkætlanum eru ávísað til útbreiðsluumhvørvið av okkara CI-palli. Tey eru ikki tøk fyri pull-request-verkætlanir frá greinum.
12. Samskipað Uppljósting
Heldur tú at tú hevur funnið ein trygdarveikleika í qub, vilja vit hoyra um tað skjótt og vit skuldbinda okkum at viðgera fráboðanina yrkisliga.
- Send teldupost til
support@qub.socialvið evnis-forskoytinum[SECURITY]. - Lýs veikleikan, stig at endurskapa, og eitt og hvørt prógv-av-hugskoti.
- Gev okkum eitt hóskandi uppljóstingarvindeyga (vanliga 90 dagar) áðrenn tú fert almenn.
- Far ikki at dátum sum ikki hoyra tær til, brenki ikki tænastu fyri aðrar brúkarar, ella varðveit ikki dáta fingin undir kanning umframt tað sum tørvur til at vísa trupulleikan.
Vit viðganga móttøku innan tríggjar arbeiðsdagar og halda teg kunnaðan meðan vit kanna. Við tínum samtykki, geva vit meldarum æru í sleppinótum.
12.1 Trygg Havn
Fylgir tín kanning reglunum omanfyri (góðtrúgvur kanning, ongin skaði fyri aðrar brúkarar ella tænastuna, hóskandi uppljóstingarvindeyga), fara vit ikki at fylgja lógliga atgerð ímóti tær, og vit fara ikki at biðja løgreglu at gera tað. Vit viðgera títt verk sum heimilaða royndan og vit vilja heldur tú finnur feilin enn onkur annar.
Henda Trygga Havn galdur fyri:
- Kanning á tí livandi qub.social-tænastuni (ikki á royndarinnréttingum vit birta fyri tað endamál).
- Aftur-tøkni-verkfrøði av okkara birtu binærum og tey opin-kelda qub-core / qub-app crates.
- Ein og hvør veikleikabólk — protokoll, umsókn, innistovnur, veitingarkedja — sum ávirkar qub.
Hon galdur ikki fyri felagsligan verkfrøði av qub-toymislutum, tænastunoktanar-royndir, ella atgongd til aðrar brúkarar dáta umframt tað sum tørvur til at vísa trupulleikan. Ert tú óvísur um nakað fellur innan fyri Trygga Havn, spyr fyrst brúkandi tað sama [SECURITY]-evnis-forskoytið.
13. Ærlig Mark
Trygd er ein venja, ikki ein støða. Nøkur mark eru verd at navngeva beinleiðis:
- Vit eru eitt lítið toymi. Okkara endurskoðanardýpd samsvarar ikki einari stórari fyritøku sín ávísaðu umsóknartrygdar-funktión. Vit endurgjalda við strangum sjálvvirkandi gáttum og einum lágmarks-áloparøki, men vit krevja ikki ófeiliheit.
- Varandin av okkara goymslubakenda er ein einvegis hurð. Veldur ein feilur at innsiglað tilfar verður bronglan-uppligt fyrr enn ætlað, kunnu vit ikki venda tað aftur. Vit viðgera innsiglingarflogið við samsvarandi umsorgan.
- drand-netið er ein ytri treyteind. Ein løgligur brestur av drand fór at ávirka hvørt qubs avdúkingaratferð. Vit ansa eftir drand-heilsu og hava neyðstøðuskjøl fyri keðjuflyting um kravt. Fyri upplásingardagfestingar meira enn 2 ár fram, sýnir innsiglingartíð-váttanar-modalin eina greinaða uppljósting: long-sjónarhondsligur qub lúta á drand-keðjuvarandi, og ein komandi drand-keðjuflyting kann krevja endurfáingarstig at lata qubið upp. Fyri upplásingardagfestingar meira enn 5 ár fram, mást tú merkja ein eyka kassa sum váttar at tú hevur lisið og góðtekur henda váða áðrenn innsiglingin gongur fram.
- Dulmálsgrundeindir vit lúta á eru staðlaðar og víða endurskoðaðar, men dulmál tróast. Har vit hava val (eftir-kvanta undirskriving, vátta bronglan), velja vit tann meira varisni møguleikan.
14. Broytingar í Hesi Síðu
Ávísar broytingar verða nevndar við at dagføra gildiskomudagin ovast. Har ein broyting speglar eina áþreiðiliga trygdarbøting, lýsa vit hana stutt í tí almenna broytingarlogginum. Har ein broyting speglar eina reglugreiðing, lýsa vit hvat broyttist og hví.
Fyri spurningar um nakað á hesi síðu, send teldupost til support@qub.social við evnis-forskoytinum [SECURITY].
15. Broytingarlogg
| Útgáva | Gildiskomudagur | Samandráttur |
|---|---|---|
| 1.1 | 23. september 2026 | Samskipaði dulmálsfullyrðingar, veitingarhættir, goymslu, CSP, setur, API-lyklar, gjøld, CI og útgávuarbeiðsgongd við íverksettu skipanina. |
| 1.0 | 2. mai 2026 | Fyrsta útgáva. |