ExposureWatch
Project11 documents

Roadmap And Backlog

Status: Proposed sequencing based on the current MVP and documented risks
Last updated: 2026-10-01

Milestones

Milestone Outcome Exit criteria Status
M0: Contract alignment Frontend, backend, and docs agree on the exposure response. Contract decision is implemented and checked by a focused test. In progress
M1: MVP hardening The public service tolerates normal low-volume use. Caching, throttling, provider failure behavior, and observability are verified. Proposed
M2: Production readiness Deployment and operational ownership are explicit. Domain, CORS, quotas, terms, health checks, rollback, and support procedure are verified. Proposed
M3: Risk-model evolution Exposure score reflects more than breach count if product evidence supports it. A versioned scoring policy and evaluation examples are approved. Later

Prioritized Backlog

P0: Confirm response-contract ownership

Outcome: The stable, tested contract has an explicitly accountable product owner.

Acceptance criteria:

  • Confirm ownership of the canonical level casing and allowed values.
  • Keep src/lib/types/exposure.ts, API examples, and backend serialization aligned as the contract evolves.
  • Preserve contract tests for success, validation, provider errors, and scoring boundaries.

Dependencies: product decision on public vocabulary.

P0: Add provider protection

Outcome: A public user cannot exhaust the upstream free quota through the API.

Acceptance criteria:

  • Add short-lived caching using a one-way email key.
  • Add application-level rate limiting with a documented policy.
  • Return a controlled response when the local or upstream limit is reached.
  • Verify that logs do not expose raw email addresses unnecessarily.

Dependencies: chosen cache and rate-limit mechanism; deployment constraints.

P1: Add automated backend coverage

Outcome: Core behavior can be checked without a live provider call.

Acceptance criteria:

  • Test normalization and score boundaries.
  • Test detailed and name-only provider response mapping.
  • Test invalid JSON requests and provider failures.
  • Use a stubbed provider client for deterministic tests.

P1: Verify deployment operations

Outcome: Contributors and operators can deploy and recover the service predictably.

Acceptance criteria:

  • Verify Render health checks and environment variables.
  • Verify frontend API variables and CORS origins in each environment.
  • Document logs, rollback, and provider outage response.
  • Confirm the deployed API and frontend URLs.

Definition Of Done

  • Acceptance criteria are met and checked.
  • Documentation and examples match the implementation.
  • Relevant automated checks pass.
  • Security, privacy, quota, and operational implications are recorded.
  • The change has an owner and a follow-up decision where required.