[Privacy] The publisher-run CVE mirror has no published log or retention policy #579
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#579
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in the pre-publication legal and privacy review.
The contradiction:
docs/PRIVACY.md:12— "There is no OciDeck account, no OciDeck server, and no telemetry."docs/PRIVACY.md:371-373— "there is no OciDeck-held copy of your data to request or erase."COMPLIANCE.md:41— LibreKAT "does not sell it, host it as a service, or monetise it in any form."Against that:
docs/PRIVACY.md:169—cveapi.librekat.nl, "run by the publisher".grep -rn "cveapi" --include="*.md"finds exactly three hits, all descriptive. Nowhere is it stated what the service logs, for how long, or who is controller.Why this matters: Stichting LibreKAT operates a service that receives search terms plus IP address from penetration testers who are, at that moment, working on a client engagement. The code knows how sensitive this is —
lib/widgets/dialogs/cve_picker.dart:56-58: "wélk lek je opzoekt is het gevoeligste dat je prijsgeeft". That is a processing operation by the publisher, carrying an information duty (GDPR art. 13) and access/erasure rights (art. 15/17).Why this must be fixed before publication: the three sentences quoted above become factually incorrect the moment this is public, in the very document that is meant to be the evidence of trustworthiness. It is the first claim a critical reader checks.
Proposal: one paragraph under What leaves your device: which fields
cveapi.librekat.nlrecords, the retention period, that LibreKAT is controller for it, and the contact address. RewordPRIVACY.md:12to "no account, no backend for your decks, no telemetry" and:371to note the exception. CorrectCOMPLIANCE.md:41in the same commit.Opgelost in `
cc00070` (PR #655).docs/SECURITY_DESIGN.mdzegt nu wat er is: één action op een exacte versie en bewaakt, vier op hun major-tag, bewust. Met de kanttekening erbij dat een tag muteerbaar is, dus dat dit driftbewaking is en niet de onveranderlijkheid die een commit-SHA zou geven.Wil je de oorspronkelijke claim alsnog wáármaken, dan is dat een aparte wijziging: vijf SHA-pins plus vijf regels in
pinned-actions.json.Ten onrechte gesloten — dit is niet gedaan. Excuses.
Ik heb dit issue eerder vandaag gesloten met een reactie die naar
cc00070verwees. Die reactie hoorde bij een ander issue: ik sloot dertien issues op grond van een nummering die ik uit mijn hoofd meedroeg uit de volgorde waarin ik ze aanmaakte, en die volgorde klopte niet meer. Ik heb de code opmaingeverifieerd, maar niet teruggelezen wát er in dit issue stond.Er is aan dit punt niets veranderd. Het staat weer open, ongewijzigd.
Opgelost op main in
8e9ab7f(PR #683) — voor zover deze repo het kan.PRIVACY.mdheeft nu een eigen sectie The one server the publisher runs: het exacte verzoek, dat de zoekterm als query-parameter in de URL meegaat (het deel dat elke gewone webserver standaard in zijn toegangslog schrijft), dat de stichting verwerkingsverantwoordelijke is, waar artikel 15/17-rechten liggen, en drie manieren om de spiegel te vermijden. De samenvatting bovenaan enCOMPLIANCE.mdzijn rechtgezet, net als "there is no OciDeck-held copy of your data to request or erase" — waar voor decks, onwaar voor die ene dienst.Wat er bewust níét in staat: de bewaartermijnen. Welke velden
cveapi.librekat.nlbewaart en hoe lang, is een eigenschap van een installatie en niet van de code. Deze repo kan het niet vaststellen, dus staat er wat de bron wél bewijst en waar de grens ligt. Een verzonnen bewaartermijn in een privacyverklaring is erger dan een benoemd gat: het gat is zichtbaar en te dichten, een getal wordt geloofd.Poort erbij, want een correctie zonder poort verjaart: zolang de code een host van de uitgever als standaard declareert, moeten beide documenten hem noemen, moet er een verantwoordelijke worden aangewezen, en mogen de twee absolute claims er niet staan. In drie richtingen getoetst.
Ik sluit dit issue: het repo-deel is af. Wat overblijft is van jou en ligt buiten deze repo — het logbeleid van
cveapi.librekat.nlpubliceren (welke velden, hoe lang), net als de websitehelft van #597. Zeg het als je daar liever een eigen issue voor wilt; dan maak ik hem aan.Opgelost in PR #706, op main — met de feiten die jij gaf.
De documentatie beschreef
cveapi.librekat.nlal grondig, maar liet bewust het gat "welke velden, hoe lang — niet hier te bewijzen, de uitgever moet het apart publiceren". Dat gat is nu gevuld met wat de uitgever stelt, niet met een verzonnen termijn: de privacyimpact is naar zijn oordeel gering, en wat de dienst ontvangt wordt bewaard zolang dat nodig is om de dienst te draaien — de opslagbeperking van art. 5(1)(e), geen vaste termijn en niet onbeperkt.Conservatief gehouden: geen lijst gelogde velden verzonnen, geen aantal dagen. Wat het document zélf kan bewijzen blijft ernaast staan (zoekterm in de URL, stichting is verantwoordelijke), want dat hangt niet van de uitgever af. Rechtgezet op drie plekken: de spiegel-sectie, de CVE-alinea onder Who is controller, en
COMPLIANCE.md.