ADR-002 Accepted 2026-07-03

ADR-002: Event-Driven Ingestion over Polling

Why the pipeline uses SCC Pub/Sub event triggers instead of polling the findings API.

ADR-002: Event-driven ingestion over polling

Context

Once SCC is selected, findings must be delivered to the SecureVault processor. The two primary patterns are event-driven (SCC → Pub/Sub → Cloud Function) and polling (a scheduled job calls the SCC API).

Decision

Use an event-driven pipeline built on Cloud Pub/Sub. SCC is configured to publish findings to the scc-findings topic, and the Cloud Function is triggered by new messages.

Consequences

Positive:

Negative:

Alternatives considered

AlternativeProsConsVerdict
Cloud Scheduler + periodic SCC API pollingSimpler to reason about; no Pub/Sub infrastructureConsumes SCC API quota; latency equals poll interval; missed findings possible if job failsRejected because latency and reliability are more important than minimal infrastructure.
Direct Eventarc trigger from SCCEven tighter integrationHigher learning curve and less documentation stability at the time of designRejected; Pub/Sub route is better documented and easier to restrict.
Batch export to Cloud StorageCheap for historical replayNot real-time; adds parsing complexityRejected as primary ingestion; kept as a future replay option.

References