Prometheus
DE EN

02 — Erfassung

Vier parallele Modi, ein offenes Submission-Protokoll.

Kein Modus ist auf einen anderen angewiesen. Die Modi A, B und C münden über dasselbe signierte Protokoll in mehrere unabhängige Mirrors — keiner von ihnen braucht dafür einen Rückkanal zum Endnutzer. Modus D steht daneben: Er wertet ausschließlich öffentliche Registry-Daten aus und läuft mirror-intern.

Datenfluss

Von der Quelle zum Mirror.

Die Modi A, B und C initiieren jede Verbindung selbst — Egress-only. Modus D läuft vollständig mirror-intern auf öffentlichen Quellen.

Modus D · mirror-intern · kein Signatur-Roundtrip · nur Schema-Reject-PII A · SDK Runtime-Nutzung B · Agent Phase 2 C · Hybrid Phase 2 D · Scraper Registries Submission-Protokoll JCS · ed25519 · did:key Mirror EU-1 Phase 1 Mirror 2 Phase 2 Mirror 3+ Phase 3

Gestrichelte Knoten sind geplant, nicht in Betrieb. In Phase 1 läuft genau ein Bootstrap-Mirror.

Die vier Modi

Was jeder Modus sieht — und was nicht.

A

Self-Instrumentation-SDK

Ein SDK in der OSS-Bibliothek selbst meldet Runtime-Nutzung. Genau vier Event-Typen: install, session-start, runtime-tick alle fünf Minuten und feature-flag. Die Bibliothek entscheidet, ob sie es einbaut — niemand sonst.

Phase 1 · sechs Sprachen · k ≥ 5
D

Registry-Scraping

Öffentliche Manifeste aus npm, PyPI, Maven Central, crates.io und Go Modules, dazu ein GitHub-Manifest-Crawl. Läuft mirror-intern ohne Signatur-Roundtrip — die PII-Prüfung greift trotzdem als Defense-in-Depth.

Phase 1 · mirror-intern · öffentliche Quellen
B

Endnutzer-Agent

Ein Agent in der Host-Software meldet, welche eingebetteten Bibliotheken tatsächlich laufen. Weil hier näher am Endnutzer gemessen wird, gilt ein deutlich strengeres k-Minimum.

Phase 2 · geplant · k ≥ 25
C

Hybrid-Aggregator

Ein lokaler Aggregator bündelt mehrere Quellen, bevor überhaupt etwas die Maschine verlässt. Erhöht die Kohortengröße und senkt damit das Re-Identifikationsrisiko weiter.

Phase 2 · geplant · k ≥ 25

Gemeinsamer Nenner

Ein Protokoll für die Modi A, B und C.

Was diese drei Modi auch erheben — es verlässt die Maschine nur in einer Form: kanonisch serialisiert, signiert, und erst nach beiden PII-Gates. Modus D läuft anders: Der Scraper arbeitet mirror-intern auf rein öffentlichen Quellen, ohne Signatur-Roundtrip und ohne k-Anon-Guard — der wäre dort gegenstandslos, weil eine öffentliche Registry keine Kohorte hat. Der Schema-Reject-PII-Gate greift für D dennoch, als Defense-in-Depth.

Kanonische Serialisierung

RFC 8785 (JCS) — dieselbe Eingabe ergibt in jeder Sprache byte-identisch dieselbe Ausgabe. Ohne das wäre keine Signatur sprachübergreifend prüfbar.

ed25519 über die Body-Bytes

Signiert wird direkt über die kanonischen Bytes, ohne Prehash. Der submission_hash ist davon getrennt und dient als Idempotenz-Schlüssel.

PURL als Projekt-Identität

Immer eine Package-URL — pkg:npm/…, pkg:pypi/…, pkg:cargo/…. Kein freier Text, keine Namensdopplungen.

Egress-only

Die Modi A, B und C initiieren jede Verbindung selbst. Es gibt keinen Rückkanal, über den ein Mirror ein Endgerät ansprechen könnte.