Metode
Scorerne er produktet, dette site sælger, så modellen offentliggøres i stedet for at blive beskrevet: denne side er genereret ud fra methodology.json, den samme fil, scoreren læser. Metoden kan ikke afvige fra tallene, for der findes kun én kopi af den.
Ingen af scorerne trykkes uden serviceklassen, som er det, der fortæller dig, hvilken af de to der besvarer det spørgsmål, du faktisk har.
Rang er ikke en gemt værdi. Det er en egenskab ved en liste: hver rangeret side ordner udbydere ud fra de to scorer og siger, hvilken akse den sorterede efter. En privatlivsrangering går efter sikkerhed, en streamingrangering efter brugervenlighed. Er den ledende akse uafgjort, falder listen tilbage på den anden score og dernæst på navnet, så rækkefølgen er fuldstændig, og ingen to rækker bærer det samme tal. Der findes intet rangfelt for nogen at skubbe til.
Otte uafhængige risikokanaler, hver stiller ét spørgsmål til den offentliggjorte post. En kanal svarer med en sandsynlighed mellem 0 og 1 — hvor sandsynligt det er, at netop denne rute identificerer brugeren — og de otte bliver multipliceret, ikke lagt sammen.
Ingen kanal vægtes efter, hvor vigtig den føles. Vægtningen ligger i, hvad hver kanal finder, og at finde intet lader scoren være i fred.
Hver kanal navngiver de felter, den læser, og hver udbyderside viser de faktiske værdier, den læste, med kilder og datoer. Tallet nedenfor er, hvor mange af de 67 sikkerhedsfelter der fodrer hver af dem; et felt, der besvarer mere end ét spørgsmål, tælles under hvert af dem, hvilket er derfor, tallene summer til mere end 67.
| Kanal | Spørgsmålet, den stiller | Felter |
|---|---|---|
| Opbevaring | Findes der en post, der knytter trafik til en person, og hvem kontrollerede den? | 13 |
| Jurisdiktion | Kan nogen gennemtvinge udlevering af det, der findes, uden at udbyderen får indflydelse? | 5 |
| Udlevering | Har den allerede udleveret noget? | 6 |
| Integritet | Er den blevet taget i at sige én ting og gøre en anden? | 17 |
| Arkitektur | Hvem driver exit, og hvad gør den ved trafikken? | 2 |
| Hygiejne | Hvilket identificerende materiale indsamles undervejs, og kan klienten overhovedet kontrolleres? | 12 |
| Uvidenhed | Hvor meget af dette har ingen dokumenteret? | 6 |
| Tavshed | Ti år, millioner af brugere og intet i registret? | 5 |
En kanal læser ikke et felt og frembringer et tal af sig selv. Mellem de to sidder modellens regler: 32 af dem, hver navngiver, hvad den læser, hvilken kanal den svarer til, og hvilken form for regnestykke den bruger. De er trykt her i deres fulde ordlyd, for en regel, en læser ikke kan se, er en regel, en læser må tage på tro.
Ti former dækker dem alle, og formen er det ærlige sammendrag af, hvad en regel kan gøre ved en score:
capped_sum
Addender akkumuleres mod et loft, de ikke kan overskride.
constraint
En invariant, som tabellerne skal opfylde. Den prissætter intet og kontrolleres af selftest.py i stedet for at blive evalueret pr. udbyder.
decay
En værdi skaleret efter alderen på det belæg, der ligger bag.
derivation
Beregner ét felt ud fra andre, så faktum kun gemmes én gang.
flag
Offentliggør en markør til læseren og påvirker ingen score.
gate
Vælger, hvilken gren af modellen der gælder, i stedet for at beregne et tal.
max
Den værste af flere kodninger af samme omstændighed. De lægges ikke sammen: En hændelse, der er skrevet ned to gange, er stadig én hændelse.
noisy_or
Uafhængige fund kombineres: 1 - produkt(1 - hvert enkelt).
product
Faktorer multipliceres, og hver skalerer det, de andre har dokumenteret.
threshold
En test af inputtene, der afgør et niveau, eller om reglen udløses.
Ikke alle 32 prissætter noget. Fire bærer formen constraint, og tre af dem — R08, R22, R23 — evaluerer slet ikke mod nogen udbyder: de er invarianter, tabellerne selv skal opfylde, tjekket når kontrakten opbygges snarere end når en post scores, hvilket er derfor, de navngiver et omfang i stedet for et felt-antal.
Den fjerde, R29, læser rent faktisk en post, men for at afgøre, hvordan et felt må kodes, snarere end hvad kodningen koster. Endnu én, R15, er et flag: den offentliggør en markering til læseren og flytter intet tal.
R01_bought_coverageintegritetmaxlæser 4 felter
Dækning, der findes, fordi der er betalt for den
maks. af: parret (X08, X10) prissat efter params.bought_coverage, og — hvor M10 oplister review_directory — X11 prissat efter params.review_directory; 0,000 når ingen af ruterne udløses
R02_cluster_contagionintegritetproductlæser 4 felter
Risiko importeret fra en søster, der blev taget i at lyve
min(params.cap, kobling x overførsel x maks. over søskende s af R04_lie_group(s)); kobling er params.coupling læst på M18_shared_infrastructure, med tilbagefald til M17_brand_role, hvor infrastrukturen er separat, ukendt eller ikke nævner noget i tabellen; overførsel: 1,0 hvis funddato >= maks.(M16 for begge), ellers 0,0; fund uden dato -> 0,0; søskende skal være offentliggjorte poster; læser aldrig en søskendes egen smitte
R03_owner_businessintegritetmaxlæser 1 felt
Monetisering antydet af det andet, gruppen sælger
maks. over M10-kategorier; kombineret med X05 med maks., ikke noisy-OR (én omstændighed, to kodninger)
R04_lie_groupintegritetmaxlæser 2 felter
Løgnaksen
maks.(X01, X02) — aldrig noisy-OR: én hændelse, der er kodet to gange, må ikke forstærkes til CHANNEL_CAP; S19 = caught_lying hvis >0, unexamined hvis begge er ukendte, ellers clean
R05_exposuretavshedthresholdlæser 3 felter
Eksponeringsniveau
pts = driftsår scoret efter params.years_points + M08 efter params.scale_points + params.stayed_logging_points når P04=stayed_logging; niveauet er den højeste tærskel i params.bands, som totalen når, ellers low; håndskrevne P10 ignoreres
R06_ignoranceuvidenhed
Niveauet aflæses af den offentliggjorte score i stedet for at blive gemt ved siden af den, så ordet og tallet ikke kan glide fra hinanden.
| Niveau | Score | Hvad det betyder |
|---|---|---|
| Beskyttelse: høj | 75–100 | Udbyderens centrale løfter om beskyttelse af privatlivet er dækket af belæg, og et uafhængigt audit har efterprøvet dem. |
| Beskyttelse: middel | 55–74 | Det meste af det, der betyder noget, er bekræftet, og intet i posten udelukker udbyderen — men nogle huller er der stadig. |
| Beskyttelse: under gennemsnittet | 35–54 | Mere er ubekræftet end bekræftet. Intet skandaløst, men ikke nok til at anbefale. |
| Beskyttelse: lav | 15–34 | Det, der er kendt, taler for det meste imod udbyderen, eller næsten intet af det kan bekræftes. |
| Ikke anbefalet | 0–14 | Udelukket: udbyderen er blevet grebet i at lyve om sin egen praksis, eller dens app sender andre menneskers trafik gennem sine brugeres enheder. |
Sikkerhed er en grænse, ikke en omsættelig størrelse. På en generel rangering kan en høj brugervenlighedsscore ikke løfte en udbyder over én med en bedre sikkerhedsscore. Listen sorterer først efter sikkerhed og griber kun til brugervenlighed, når poster scorer identisk på sikkerhed.
I registeret, som det står nu, ligger en udbyder, der scorer 60 på brugervenlighed, 25 pladser under én, der scorer 55 — og det er den korrekte rækkefølge, ikke en fejl.
Modellen scorer tilstanden af det offentliggjorte belæg, ikke vores mening om et selskab. Tre ting ved en værdi betyder derfor lige så meget som værdien selv.
Enhver værdi bærer sine kilder, og hver kilde bærer et lag. Vægtene er modellens egne:
| Lag | Vægt | Hvad det er |
|---|---|---|
| A | 1.00 | Selve artefaktet — politikken, rapporten, retsprotokollen |
| B | 0.85 | Udbyderen, der siger det et sted med ansvar |
| C | 0.70 | En kompetent tredjepart, der rapporterer det |
| D | 0.35 | Alt, der er tyndere end det |
Adskilt herfra registrerer hver værdi hvordan den kom dertil. document betyder, at der findes en kildehenvisning, og kun de må vises som kildebelagte påstande; derived blev beregnet ud fra andre felter af en regel på denne side; asserted er en værdi uden noget bag sig, hvilket er, hvordan et felt, ingen har dokumenteret, gemmes.
Der findes ingen fjerde grad: en værdi står enten på et dokument, blev beregnet ud fra værdier, der gør, eller har intet bag sig overhovedet.
De tre kurver i tal:
| Hvad forældes | Tæller fuldt ud i | Halveres hver | Aldrig under |
|---|---|---|---|
| Et audit eller et eftersyn | 12 måneder | 18 måneder | 5% |
| En påstand om løbende praksis | 12 måneder | 60 måneder | 15% |
| Et transparenstal | 12 måneder | 60 måneder | 35% |
De tre kurver er forskellige, fordi det, de beskriver, ændrer sig med forskellig hastighed. En revisors øjebliksbillede forældes hurtigst: det siger, hvad der var sandt i én uge af ét år. En påstand om løbende praksis og et transparenstal beskriver en vedvarende tilstand, så de holder deres værdi meget længere — og en transparensrapport har den højeste bund af de tre, for et selskab, der én gang har offentliggjort sine tal, har dokumenteret noget om sig selv, som et stille år ikke gør om.
En helt anden form, for den besvarer en anden slags spørgsmål: en additiv, vægtet sum, hvor funktioner lægges sammen, og en manglende er et underskud. Tretten felter, tolv af dem bærer vægt, 34 point imellem sig. Det trettende er årsprisen: offentliggjort, fordi en læser ønsker det, vægtet med intet, fordi en rabat for at betale tolv måneder forud er et kommercielt vilkår snarere end en egenskab ved tjenesten.
| Felt | Vægt | Genkontrolleret |
|---|---|---|
| Virker under aktiv censur | 5 | 30 dage |
| Platforme med en klient | 4 | 30 dage |
| Lande med tilbudte exit-lokationer | 4 | 90 dage |
| Månedspris i USD, måned-til-måned-abonnement, som opkrævet | 3 | 30 dage |
| Brugbar gratisversion | 3 | 30 dage |
| Tilgængelige protokoller | 3 | 30 dage |
| Dækning af kill switch | 3 | 30 dage |
| Samtidige forbindelser | 2 | 30 dage |
| Besvær ved at komme i gang med det | 2 | 30 dage |
| P2P tilladt | 2 | 30 dage |
| Større streamingtjenester kan nås | 2 | 30 dage |
| Split tunneling tilgængelig | 1 | 30 dage |
| Pris for årsabonnement i USD, første periode som opkrævet | — | 30 dage |
Resultatet gennemsnittes over de felter, der bærer en værdi, så en udbyder ikke straffes for et felt, ingen har udfyldt for nogen. Omgåelse af censur bærer den højeste vægt, fordi det er den ene brugervenlighedsegenskab, der afgør, om tjenesten overhovedet virker de steder, hvor det betyder mest; split-tunneling bærer den mindste, fordi dets fravær er en ulejlighed.
Pris kommer ind her, ikke på sikkerhedsaksen, og kun den månedlige takst gør. Årlige takster vises alle steder på sitet, men scores ikke: en rabat for at forpligte sig for tolv måneder forud er et kommercielt vilkår, ikke en egenskab ved tjenesten.
En score ved 50% fuldstændighed er en anden påstand end den samme score ved 95%, så fuldstændigheden følger med scoren, og de to vises sammen. Det er andelen af felter, der overhovedet blev dokumenteret.
Ved siden af det bærer hver post centrale mangler: analytikerprosa, der navngiver, hvad der ikke blev dokumenteret, hvad der ville afgøre det, og de forbehold, der kvalificerer tallet. Det er her, en læser lærer, at en erklæringsrapport er Type I snarere end Type II, eller at et flådeland blev udledt af en routingnote.
En høj score med en lang liste af mangler er ikke en modsigelse: scoren siger, hvad belægget understøtter, manglerne siger, hvor meget belæg der var. Ingen af halvdelene skjules for at få den anden til at fremstå bedre.
Hvor en udbyder ikke offentliggør noget, forbliver feltet ukendt. Det bliver aldrig estimeret, aldrig udledt af en konkurrent, aldrig stille udfyldt med et marketingtal, og aldrig gættet i nogen retning — uvidenhedskanalen er der, hvor det koster scoren, hvilket er det ærlige sted for det at koste noget. I en tabel vises en udokumenteret værdi som — og sorteres sidst i begge retninger: at sortere efter flådestørrelse stigende belønner ikke en udbyder for at have nægtet at fortælle os det.
To akser, to bunde, og de er sat i forskellige højder med vilje. På sikkerhed afstår modellen fra en vurdering, når under 30% af de substantielle felter overhovedet er dokumenteret, eller når — under 50% dokumenteret og under 35 point — den dominerende risiko er vores egen ignorance. Ingen af delene er en udtalelse om udbyderen: det siger, at undersøgelsen ikke kom langt nok til at placere den, og 9 af 77 poster er det.
På brugervenlighed er bunden højere — scoren skal hvile på 50% af den tilgængelige vægt, ikke 30% — og den er højere, fordi de to akser belaster et tomrum forskelligt. Sikkerhed prissætter uvidenhed inde i scoren, så en tynd post allerede bærer, hvad det koster.
Brugervenlighed har ingen sådan kanal: et udokumenteret træk forlader simpelthen gennemsnittet, så uden en bund ville en post med to kendte felter fremstå som en målt én. 15 af 77 poster offentliggør usability.state: no_data, og det tal, de bærer, er en nedre grænse snarere end en måling — det trykkes aldrig ved siden af en known, som var de to sammenlignelige.
Seks begrænsninger, offentliggjort sammen med modellen i stedet for opdaget senere. De er en del af methodology.json og følger med hver score, den frembringer, hvilket er derfor, de trykkes her ord for ord i stedet for gengivet med andre ord:
expires_at, før du citerer en pris.key_gaps er stedet, hvor det skal siges.V15_assurance_strength unknown, og alle auditerede udbydere krediteres efter markedsnormen i stedet for efter det, deres egen rapport siger. Feltet registrerer den erklærede styrke, ikke grundigheden bag den — en auditopgave kan indeholde en vurdering med høj grad af sikkerhed og stadig være snæver, hvilket V03_audit_subject og V04_scope_servers er til.Der findes ingen redaktionel justering. En tidligere version af denne metode tillod en redaktør at flytte en beregnet score med op til to point med en offentliggjort begrundelse; den er fjernet, for opdelingen på hver udbyderside viser nu regnestykket i sin fulde form, og et tal, der ikke kom ud af det regnestykke, ville gøre opdelingen til en løgn.
Redaktionel vurdering har ét sted at bo, og det er ikke scoren: et manuelt kvalitetsniveau, holdt adskilt og aldrig blandet ind. Tror en redaktør, en post er forkert, er vejen den samme, der står åben for enhver læser — ret belægget, og lad modellen genberegne.
Scorer genberegnes ved hver import og på forlangende. Fordi modelversionen gælder for alle poster på én gang, flytter en ændring af den hele registeret snarere end én række — hvilket er, hvad der bør ske, og hvorfor hver ændring logges offentligt. En udbyders opdateret-dato flytter sig kun, når noget væsentligt ændrede sig; en genimport, der ikke ændrer noget, lader hver dato være i fred, for at stemple 77 sider med dagens dato ville være et friskhedssignal, vi ikke havde gjort os fortjent til.
Det, de kan købe, er en kommission, når nogen abonnerer gennem et link, og — hvis betalt placering nogensinde bliver solgt — en mærket blok for sig selv over rangeringen, uden for rækkefølgen. Ingen af delene er slået til i dag — intet link bærer en affiliateparameter, og ingen placering er blevet solgt — og begge dele oplyses, hvor de optræder, og i affiliate-oplysningen. Fordi rangeringen beregnes ud fra belæg, og belægget offentliggøres ved siden af den, ville det at købe en bedre placering kræve at ændre den offentliggjorte post — hvilket er præcis det, enhver kan tjekke.
productPrisen på det, ingen dokumenterede
minimum(params.cap, params.slope x (1 - known_share)) x (1 - params.posture_relief x holdning); holdning = summen af holdningsposter: indgange begrænset til 1,0
R07_silencetavshedthresholdlæser 4 felter
Tavshed i forhold til eksponering
udløses kun når P01 og P03 er i {none_known, unknown}, og P05 er i {none, unknown, fresh_no_numbers}; risiko = min(params.cap, params.per_year x driftsår x vægt), hvor vægten tages fra params.weight efter eksponeringsniveau. Prissat pr. år, fordi tavshed ophobes: femten år uden noget i registret er ikke den samme påstand som fem, og et fast niveau sagde, at de var det samme. En udbyder, hvis startår er ukendt, opkræves intet her, jf. R08
R08_unknown_pricing6 kanalerconstraintenhver risiko- og bundtabel i skemaet
Uskyldighedsformodning som aritmetisk regel
gælder kun fund mod udbyderen og aldrig for et ukendt, der er skrevet som en offentliggjort kanalprior (C01 = prior_0.550), hvilket er en grundsats og ikke et fund. Ellers er risiko(ukendt) <= 0,50 x risiko(værst bekræftede værdi) for det pågældende felt og aldrig lig med den; en afsløret løgn rangerer altid over et tomt felt; på løgnaksen og i hvert hændelsesfelt er risiko(ukendt) = 0,000 uden videre. Hele prisen for et tomt felt betales én gang, i uvidenhed, hvor det er mærket som vores
R09_channel_combination8 kanalernoisy_orlæser 8 felter
Hvordan de otte kanaler bliver til ét tal
score = 100 x product(1 - min(0,90, r_c)) over de otte kanaler; intet generelt bund- eller loftsniveau; S18 indgår i integritet, ikke som en niende kanal
R10_disclosure_decayudleveringdecaymaxlæser 4 felter
Negative hændelser forældes også
oplysning = max over P01, P02 og P03 af det felts egen pris efter forældelse — én rute taget på sit værste, aldrig sammensat, fordi tre kodninger af én beslaglæggelse er én beslaglæggelse; decay(plateau=12, half_life=60, floor=0,35) på datoen for P12_case_history-posten for samme episode, matchet efter hvad posten siger skete — P01 til en beslaglæggelse, P03 til en court_order, subpoena eller mandate_order — og aldrig efter hvordan den endte, eftersom en episode, der ikke frembragte noget, stadig er den episode, der daterer konstateringen; P02 matches efter udfald, fordi udfaldet dér er faktum; en negativ hændelse uden en sådan post beholder sin værdi uden forældelse; praksiskurvens form med et højere bundniveau, 0,35 her mod 0,15 for praksisbelæg, fordi en dokumenteret oplysning forbliver permanent i registret
R11_evidence_voidingopbevaringudleveringintegritetgatelæser 1 felt
En ændring af kontrollen nulstiller det, der overføres
belæg dateret før M16 knytter sig ikke til den nuværende ejer: audits mister serieb bonussen, oplysningshændelser falder til R10-bunden, søskendekonstateringer overføres slet ikke
R12_report_plausibilityintegritetuvidenhedthresholdlæser 5 felter
En gennemsigtighedsrapport er sit indhold værd
P06 = zero_implausible når P09 = 0 og P08 er over params.min_requests, og posten dokumenterer, at der findes en personrelateret registrering at oplyse — opbevaringsalvorsgrad på eller over params.min_retention. At bedømme det alene efter brugerskala straffede det modsatte af det, som det var til for: en udbyder, der offentliggør sine tal og rapporterer ingen imødekommede, blev kaldt en løgner, mens en, der intet offentliggør, ikke betalte noget. Nul imødekommede er kun utroværdigt over for en udbyder, hvis egen post siger, at den har noget at imødekomme; over for en dokumenteret konstatering af ingen logning er det det forventede svar, og modellen må ikke tvivle på én kanal på grundlag af det, den godskrev i en anden. Når det udløses, sættes holdningslempelsen fra P05 til 0,00, og integriteten får ruten i params.route
R13_derived_jurisdictionjurisdiktionnoisy_ormaxlæser 6 felter
Mandatfelter afledes, ikke vurderes
C10 = M06 i MANDATE_COUNTRIES; C11 = M11 i MANDATE_COUNTRIES; når M11 = M06 er de to én omstændighed, og jurisdiktion tager max(C10, C11, P11), aldrig noisy-OR; flådeeksponering indgår som max(C09b, P04), hvilket er en separat rute fra virksomhedsruten; en håndskrevet tilsidesættelse kræver sin egen kilde og offentliggøres som sådan
R14_disclosure_rateudleveringthresholdlæser 2 felter
Andelen af anmodninger, der førte til data
rate = P09 / P08 når P08 når params.min_requests; risiko = params.weight x rate; offentliggøres ved siden af raten, fordi sammenligneligheden på tværs af jurisdiktioner er lav — en anmodning betyder en court order i ét land og et brev i et andet
R15_free_tier_flagingen kanalflaglæser 2 felter
Gratis niveauer betales på en eller anden måde
S22 = markeret når hvert felt, der er navngivet i params, har en af de værdier, params oplister for det, ellers ingen; ændrer ingen score på nogen af akserne — begge input er allerede prissat dér, hvor de hører hjemme, og at prissætte deres kombination ville være netop den gennemsnitsberegning, som de to akser findes for at afvise
R16_opaque_at_mass_scaleintegritetthresholdlæser 2 felter
Uigennemsigtighed er værre, jo flere mennesker den dækker
X03 = uigennemsigtig og M08 = masse -> params.at_mass_scale i stedet for X03's egen pris for uigennemsigtig
R17_location_noticejurisdiktionderivationlæser 3 felter
Hvor et mandatland tilbydes, hvad der faktisk findes der
C09 = U02-lande, der optræder i MANDATE_COUNTRIES, afledt og aldrig udfyldt manuelt. C09 alene giver ingen score og holdes ude af fuldstændighedens nævner: at tilbyde en exit i et sådant land siger ikke i sig selv noget, og det offentliggøres ud fra den placering, en læser vælger. Det, der tæller, er C09b, det ene spørgsmål, der er værd at stille, når C09 ikke er tomt — om hardwaren faktisk befinder sig under det påbud, eller om placeringen er virtuel, mens hardwaren er et andet sted. C09b er n/a, når C09 er tomt, og kombineres med P04 med max: tilstedeværelse under et påbud er én omstændighed, kodet to gange
R18_audit_gateopbevaringgatemaxlæser 2 felter
Hvilken opbevaringsgren en audit følger
V11 angiver opbevaring -> den angivne gren ved params.credence_stated; V01 = yes_* og V11 tavs -> den tavse gren ved params.credence_silent x subject_factor (params.subject_default, hvor subjektet ikke er dokumenteret), og ingen gren overstiger params.credence_max; ellers intet belæg på papir overhovedet; alvorsgraden på den valgte gren = max(C01_linkable_retention, V11_audit_findings), aldrig noisy-OR — én omstændighed, der er kodet to gange, må ikke forstærkes (som R04)
R19_audit_decayopbevaringdecaylæser 1 felt
Konfigurationen ændrer sig løbende
decay(params.decay) — kontinuerlig i måneder, ingen knæk
R20_practice_agesopbevaringdecaymaxlæser 1 felt
Hver dokumenteret hændelse har sin egen dato
hver hændelse i P12 med outcome = nothing_produced bidrager med decay(practice, sin egen dato); feltets praksisværdi er maksimum over dets hændelser, aldrig deres sum; erstatter enkeltdato-fortolkningen af P01 og P03, som slog flere beslaglæggelser sammen til én
R21_circumvention_decayusabilitydecaylæser 1 felt
Blokering bevæger sig hurtigere end belæg
U06 = dokumenterede scorer som hævdet, når feltets egen skæringsdato er mere end 12 måneder gammel; posten daterer allerede hvert felt, så alderen aflæses derfra i stedet for at blive skrevet ind i værdien; det eneste brugervenlighedsfelt med forældelse, fordi det er det eneste, hvis sandhed udløber
R22_completenessuvidenhedconstraintfuldstændighedskolonnen for hvert felt
Hvad nævneren tæller
substansielle felter med completeness = yes; n/a udelader nævneren, ukendt bliver i den; identitetsfelter, modeloutput, redundante etiketter og brugervenlighedsfelter er alle udeladt — brugervenlighedsdækningen rapporteres separat som S16
R23_credence_defaultsopbevaringconstraintenhver faktortabel i skemaet
Ulæst belæg tillægges ikke værdi
spejlingen af R08 og bevidst ikke symmetrisk med den. factor(unknown) <= det svageste ægte evidenslag i det felt og strengt over enhver værdi, der koder et afslag på at oplyse (V06 unnamed, V02 none). At godskrive en audit, som ingen har læst, til pålydende er sådan, en købt rapport vaskes ind i en score; at opkræve vores egen uvidenhed, som om den var udbyderens afslag, er den modsatte fejl. At afstå fra at godskrive ubekræftet belæg er ikke en anklage — udbyderen falder tilbage på forudgående viden, markedets baserate, ikke på en konstatering
R24_retention_compositionopbevaringproductmaxlæser 14 felter
Hvordan opbevaringsunderkanalerne bliver til ét tal
de fire underkanaler tager ikke gennemsnittet. credence.paper = den gren, R18 vælger (angivet: credence_stated; tavs: credence_silent x subject_factor) x source_credence for den pågældende grens egen .conf x audit_decay (R19) x publication_factor x engagement_factor (virksomhed x standard x styrken af assurance) x scope_factor på den angivne gren x series_bonus, når R11 lader serien stå, begrænset til credence_max. credence.practice = maksimum over daterede nothing_produced-hændelser af practice_credence x practice_decay (R20). credence = min(credence_max, max(paper, practice) + secondary_weight x min(paper, practice)) — to slags belæg vejer tungere end én, og ingen mængde belæg når sikkerhed. alvorsgrad = max(C01, V11) ifølge R18, eller prior, når ingen af dem er dokumenteret. retention = credence x severity + (1 - credence) x max(severity, prior): regression til markedets grundrate går kun opad, så en indrømmelse imod egen interesse beholder sin pålydende værdi. retention.floor = max(retention, C12 bund:) til sidst, fordi en audit afgrænset til tunnelen ikke kan klarlægge et faktum i appen
R25_integrity_compositionintegritetnoisy_orlæser 14 felter
Hvordan integritetsruterne bliver til ét tal
integritet = 1 - product(1 - route) over de ruter, der aktiveres: løgnaksen (R04), ejertransparens (R16 i masseskala), ejergruppens historik, monetisering kombineret med det, gruppen sælger (R03), hændelseshåndtering, absolutte påstande, livstidsfremstød, købt dækning (R01), ruten for den usandsynlige rapport (R12), manglen mellem butikserklæringerne (R28), disclosure_rate_weight x rate (R14) og cluster-smitte (R02, S18). Ruter forstærker hinanden, fordi de er separate fund; parrene, der var én omstændighed kodet to gange, blev allerede samlet med max i deres egen regel, og derfor samles intet igen her
R26_hygiene_compositionhygiejnecapped_sumlæser 12 felter
Hvordan hygiejnefelterne bliver til ét tal
hygiejne = min(params.cap, summen af risikoen: prisen for hvert felt, der dirigeres hertil). Den ene additive kanal på sikkerhedsaksen: dette er små uafhængige lækager, der ophobes, ikke ét fund, der afgør et resultat, og loftet forhindrer, at en bunke mindre indsamlinger læses som en offentliggørelse. Et listefelt er dets billigste medlem værd — én anonym betalingsmetode er nok — og falder tilbage til sin egen ukendte pris, når intet medlem er prissat. C13_weakest_protocol er et afledt led her (R32): en aktiv ældre transport er endnu en ting, der indsamles i forbifarten, ikke et fund, der afgør et resultat
R27_report_concealmentintegritetmaxlæser 2 felter
Tavshed om udlevering i et omfang, der garanterer anmodninger
en udbyder i mellemstor eller massiv skala modtager med sikkerhed anmodninger, så et dokumenteret fravær af tal er et faktum om udbyderen snarere end en mangel i vores undersøgelse: P05 = none koster 0,150, fresh_no_numbers 0,100 — en offentliggjort rapport, der udelader det ene tal, der betyder noget, er den skarpeste form af det — og stale 0,050. Aktiveres kun ved en dokumenteret værdi; ukendt koster ikke noget her og prissættes i uvidenhed, hvor vores egen manglende undersøgelse hører hjemme. Spejlbilledet af R12: den ene prissætter et utroligt tal, denne prissætter fraværet af ethvert tal
R28_store_declaration_gapintegritetmaxlæser 1 felt
Butikkens erklæring holdt op mod den politik, udbyderen gav butikken
den obligatoriske butiksformular er udbyderens egen underskrevne erklæring om appen, så alt, formularen erklærer, skal også fremgå af den politik, udbyderen selv henviser butikken til. Læs kun i én retning: appen er en delmængde af tjenesten, så en formular, der erklærer mindre end politikken medgiver, forklares af omfanget og koster intet, mens en kategori, formularen erklærer, og som politikken aldrig nævner, ikke har nogen sådan undskyldning. Bedømmes efter, hvad den ikke-oplyste kategori afslører: en identifikator eller en diagnosticering koster 0,150, adfærd — appaktivitet, installerede apps, lokation eller ethvert reklameformål — koster 0,300, og en erklæring om netop den indsamling, som en no-logs-påstand benægter, koster 0,450. De to butikker definerer indsamling forskelligt, så en forskel mellem Apple-formularen og Google-formularen er ikke i sig selv et fund. Den værste mangel på tværs af butikkerne vinder
R29_session_stateopbevaringconstraintlæser 2 felter
Forbindelsen er ikke en post over forbindelsen
C01 bedømmer, hvad en udbyder stadig kan knytte til en person, når sessionen er afsluttet. En tilstand, der kun eksisterer, mens tunnelen er aktiv — en kilde-IP, et konto-id og et forbindelsestidspunkt, der opbevares, så serveren kan dirigere pakker og håndhæve enhedsgrænsen — er selve forbindelsen, ikke en registrering af den, og at prissætte den som opbevaring pålægger en udbyder en omkostning for at beskrive, hvordan en VPN fungerer. Værre endnu koster det mere end at sige ingenting: tompladsen i dette felt er markedets forudgående sandsynlighed 0,550, og source_ip er 0,750, så den ærlige beskrivelse af en buffer på femten minutter kostede mere end tavshed. Undtagelsen er snæver, og det er den nødt til at være, ellers bliver den den sætning, enhver udbyder skriver. Den gælder kun, hvor udbyderens eget dokument angiver et slettevindue knyttet til sessionens afslutning og ikke længere end 24 timer — den korteste kalenderenhed, længere end enhver nedlukning, en tjeneste behøver, og kortere end enhver rotation, en log beholder. En ikke-erklæret varighed er opbevaring. En kalenderperiode — 7 dage, 30 dage, en rotationscyklus — er opbevaring, uanset hvordan den formuleres, fordi den efter hensigten overlever sessionen. Hvad end udbyderen beholder efter vinduet, er stadig sin egen kategori værd, og undtagelsen læser kun udbyderens påstand: hvor en audit fandt dataene til stede, placerer R18 allerede fundet over påstanden
R30_usability_foundationusabilitythresholdvægtkolonnen for hvert brugervenlighedsfelt
Hvor meget af tabellen brugervenlighedsscoren hviler på
brugervenlighedssummen dividerer med den vægt, den kunne aflæse: et felt, som ingen har dokumenteret, bliver i nævneren i stedet for at få score nul, fordi dækning ikke er kvalitet. Omkostningen er, at scoren ikke kan se sit eget fundament — en kolonne, hvis tungeste felt ikke er læst, giver samme talform som en udfyldt kolonne. S21 = weight read / weight live, hvor live er hvert vægtet brugervenlighedsfelt minus dem, der er n/a. Under usability_foundation_floor S20 = no_data: et tal, der hviler på mindre end halvdelen af tabellen, angiver, hvilke felter der blev udfyldt, ikke hvad produktet gør. Bunden er strengere end sikkerhedens, fordi denne akse ikke har nogen uvidenhedskanal — sikkerhed opkræver for et tomt felt i scoren, og brugervenlighed opkræver intet for det. Scoren offentliggøres stadig under no_data, præcis som sikkerhedsscoren; et tal, der tilbageholdes, kan ikke kontrolleres.
R32_protocol_floorhygiejnederivationmaxlæser 1 felt
Den svageste transport, der stadig tilbydes
C13_weakest_protocol er den dårligste protokol i U07_protocols efter risikorækkefølgen i C13's egen tabel, afledt ved indlæsning og aldrig udfyldt manuelt — samme form som R17, der afleder C09 fra U02. Den indgår i R26_hygiene_composition som endnu et led og er underlagt hygiejnekanalens loft ligesom alle andre led dér. På en flåde, der kun tilbyder moderne transportformer, er feltet not_applicable snarere end et navn: når ingen protokolprissætning er over 0,000, er der intet svagt tilbud at pege på, og at vælge den mindst dårlige af de gode efter tie-break-rækkefølge ville offentliggøre et fund, ingen har gjort. Feltet medtages for det billige segment, hvor PPTP og L2TP stadig er aktive. Prisen for proprietary er ikke en opkrævning for, at en leverandør skriver sin egen protokol — det er prisen for ikke at kunne se, om protokollen er svag, og derfor koster vendor_open intet: en leverandørtransport, hvis kildekode er offentliggjort og uafhængigt gennemgået, kan vurderes, og intet i vurderingen siger, at den er svag. At opkræve for den alligevel ville prissætte en uvidenhed, der er blevet afklaret, og gøre offentliggørelse af kildekoden dyrere end at tilbageholde den.
R33_exit_conductarkitekturmaxlæser 2 felter
Hvad exit gør ved den trafik, den fører
arkitektur = max(prisen for C00_architecture, prisen for C14_traffic_modification). Hvem der driver exit, og hvad exit gør ved det, der passerer gennem den, er ét spørgsmål — om tunnelens fjernende er på din side — og ét dårligt svar afgør det, så kanalen tager den værste af de to priser og aldrig deres sum: en exit, der drives af fremmede, og som også omskriver dine headere, er ikke dobbelt så dårlig som hver af delene, den er så dårlig. headers_injected (0,300) er en sessionsidentifikator eller enhver anden header, der føjes til trafik, som passerer igennem, og som giver hver destination et navn på brugeren; content_injected (0,500) er scripts, reklamer eller andet materiale, der placeres på sider; tls_interception (0,750) er, at exit åbner krypterede sessioner. none skal aflæses af et dokument, der siger det, hvilket få gør, så unknown bærer den samme markedsforudgående sandsynlighed som C00, og uvidenhedskanalen gør resten.
verdict: no_data siger det direkte. Læs completeness på begge akser, før du læser nogen af scorerne.M14_inclusion_basis er den eneste post om, hvorfor hver enkelt er med. En udbyder, der ikke findes i kataloget, er først belæg for denne manuelle udvælgelse, før det er belæg om udbyderen, og intet her estimerer, hvor meget kataloget overser.Fire
Ingen kanal må overstige 0.9, for vished kan ikke opnås ved at læse dokumenter. Og ét fund fastholder en kanal nedefra, hvor intet audit kan nå den.
Opbevaringskanalen
En fejlfri rapport tømmer glasset. Det, der bliver tilbage i det, er den identifikator, udbyderen har:
En rapport kan kun sige, hvad der blev skrevet ned. En identifikator siger, at brugeren kan navngives, uanset om noget blev skrevet ned eller ej, så de to er ikke svar på det samme spørgsmål — og modellen nægter at lade det første afgøre det andet.
Fem
Intet kommer ind i denne model for pålydende. Hvad rapporten siger, og hvem der siger det, er to separate stiger, og de multiplicerer.
Hvad rapporten sigeropbevaring credence_stated mod credence_silent
Hvem der siger detde fire niveauer af source_credence
De to multiplicerer. De fire lag af hvem der siger det, og hvad hvert af dem er:
Tre
Det er det, multiplikationen køber. Syv kanaler kan være fejlfrie, og den ottende afgør stadig posten — det er derfor, en udbyder ikke kan gennemsnitte en diskvalificerende kendsgerning væk ved at være ryddelig alle andre steder. Flyt kontrollen.
Syv kanaler, der hver holder 0.05, og én — den røde — som læseren flytter
Intet blev lagt sammen, og intet blev gennemsnittet. De syv ryddelige kanaler er stadig ryddelige helt ude i den anden ende af den kontrol — og de kan ikke købe tilbage, hvad den ottende tog, hvilket er hele grunden til, at de otte multipliceres.
Otte
Hver linje i viften er en regel, der navngiver den kanal, den svarer til. Alle sammen er trykt i deres fulde ordlyd længere nede på denne side, for en regel, en læser ikke kan se, er en regel taget på tro.
Venstre vifte er hver regel, der rækker ud efter de felter, den læser; højre er hver regel, der navngiver den kanal, den svarer til. Alle 32 er trykt længere nede på denne side i deres fulde ordlyd, for en regel, en læser ikke kan se, er en regel taget på tro. Maskinen er ikke stor, fordi den er kløgtig — den er stor, fordi spørgsmålene er det, og en model, lille nok til at sammenfatte i et afsnit, ville sammenfatte det forkerte.
Et
De er tegnet her i det forhold, registeret tegner dem i, for det forhold er selve pointen: det ene af de to afgør rækkefølgen, det andet beskriver, hvad du får for den.
Sikkerhed stiller 8 spørgsmål
Hvert af de 67 sikkerhedsfelter fodrer mindst ét af dem. De otte svar bliver multipliceret.
Afgør rækkefølgen
Beskriver, hvad du får
Brugervenlighed vejer 12 felter
Vægtene summer til 34, og de 12 bliver lagt sammen som et vægtet gennemsnit. Et trettende føres med vægt nul, så det offentliggøres og prissættes af intet.
Seks
Tre slags belæg, tre kurver, hver holder sig konstant i et plateau og falder så til en bund, den aldrig forlader igen. Et audit er noget, der skete på en dato, ikke en tilstand, en udbyder befinder sig i.
Op ad siden: den vægt, belægget stadig bærer — fuldt øverst, sin egen bund nederst
i dag1 år23456 år
Hver kurve holder sig konstant i et plateau og falder så til en bund, den aldrig forlader igen — belæg forældes, det bliver ikke til en løgn. Prikkerne er de 30 poster i registeret, der offentliggør et dateret audit, placeret på auditkurven ved deres egen alder. Et audit er ikke en tilstand, en udbyder befinder sig i; det er noget, der skete på en dato.
To
Intet lægges sammen. Hver kanal beholder den andel af posten, den foregående lod stå tilbage, så de otte danner en kæde snarere end en kolonne af tal.
score = 100 × ∏ (1 − channel)
Formen er en noisy-OR over independent risk channels. Regnet igennem her på posten for Proton VPN, den højeste score i registeret — tallene nedenfor er den posts egne, ikke et eksempel skrevet til lejligheden.
3 kanaler finder intet og tager intet. De øvrige 5 tager hver en lille andel, og andelene forstærker hinanden i stedet for at ophæve hinanden: 70 er det, der er tilbage af de hundrede.
Ni
Hver VPN her får ét heltal ud af hundrede, og modellen skærer den skala ved 4 bunde, den offentliggør på forhånd. Krydser man en bund, skifter ordet. Intet andet flytter det — ikke et pænere logo, ikke en rabat, ikke en pressemeddelelse.
Niveauer er intervaller, fastsat før en eneste post er scoret og trykt, så du selv kan kontrollere hver overgang — tallet er beregnet, ordet aflæses af det, og ingen af delene kan købes.
Syv
Den ene kanal, der prissætter et tomrum. Det er også det eneste på hele sitet, en udbyder kan flytte selv — og måden at flytte det på er at offentliggøre, ikke at spørge.
0.00belastet posten
min(0.6, 0.9 × (1 − established)) × (1 − 0.4 × posture)
Ikke at vide er ikke neutralt. En udbyder, som ingen har dokumenteret noget om, bærer en reel risiko, og modellen prissætter det i stedet for at lade et høfligt tomrum stå — hvilket gør dette til det ene tal på hele sitet, en udbyder flytter selv. Hver anden kanal venter på, at noget bliver fundet; denne venter på, at noget bliver offentliggjort.