Skip to content

Decide how to reduce cross-app ambiguity in DNS-based tracker blocking #655

Description

@kasnder

Current behavior

The access table has a UID, destination IP, block decision, and uncertainty flag. DNS observations are global: they store qname, aname, resource, time, and TTL, but no UID. Consequently, getQAName(uid, ip, ...) cannot determine which hostname a specific app resolved; it reuses hostnames globally observed for that IP.

This can cause both shared-IP ambiguity and cross-app attribution ambiguity in per-app blocking decisions.

Options

  1. Low-risk partial improvement: key the in-memory tracker-verdict cache by (uid, destination IP) instead of destination IP alone. This reduces cross-app cache bleed but does not make DNS evidence app-specific.
  2. Full attribution redesign: persist DNS observations with a UID, link DNS evidence to access observations, or adopt a different attribution model. This affects schema, migration, collection/query logic, and the semantics of uncertain.

Decision needed

Choose whether the product goal is only more-conservative cache reuse or genuine per-app DNS evidence, and decide how conservative standard blocking should be when evidence remains global and ambiguous.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions