Documentation

Detection tools

Mitigations

Issue categories

Reports

Privacy issues in Debian packages

Phone home

There are some common categories of phoning home:

These packages either don't fit those categories or do lots of them and more:

Phone elsewhere

Connectivity

Some services need to know when system is "online". Best practice is to only rely on system services, optionally coupled with distro-specific public service like network-manager-config-connectivity-debian . An antipattern is to hardcode probing of a public service.

Packages determining connectivity by probing Apple website and Google DNS resolvers:

Packages determining connectivity by probing Google DNS resolvers:

DHCP

When dynamically requesting an IP number using DHCP, something unique needs to be provided to keep track of provided IP numbers. Tracking here is not inherently bad - it is a tradeoff: Some systems want a long-term stable IP address (e.g. your public IP from an ISP), whereas others may want a quick throwaway address (e.g. a laptop at an airport).

Also, DHCP servers may ask for additional information that is not strictly needed, or DHCP clients may provide information that was not asked for.

Systemd-networkd supports option DHCPv4.Anonymize to optionally avoid several identifiers.

DNS

Many network protocols need a nameserver. Best practice is to only rely on user input or system resolver. An antipattern is to hardcode one or more nameservers, either exclusively or as internal default.

Packages using Cloudflare and Freenom and Google DNS resolvers by default:

Packages using Cloudflare and Google DNS resolvers by default:

Packages using Cloudflare and Google and Qaud9 DNS resolvers by default:

Packages using Google DNS resolvers by default:

Packages using Google and UncensoredDNS DNS resolvers by default:

Packages using Google and 77.88.39.152 DNS resolvers by default:

ICE

WebRTC and SIP and similar protocols need a public-accessible TUN/STUN/TURN service across public networks. Best practice is to only rely on local configuration. an antipattern is to hardcode public STUN services, either exclusively or as internal default.

Packages using Ekiga STUN resolvers by default:

Packages using Ekiga and GNUnet and Mozilla STUN resolvers by default:

Packages using Ekiga and SIPgate and Stuntman and more STUN resolvers by default:

Packages using Ekiga and SIPphone and Google and Stuntman and Xten and more STUN resolvers by default:

Packages using Google STUN resolvers by default:

Packages using Google and Stuntman STUN resolvers by default:

Packages using SIPgate and SIPphone STUN resolvers by default:

Packages using SIPphone STUN resolvers by default:

Packages using Stuntman STUN resolvers by default:

Packages using Xten STUN resolvers by default:

Data sharing

Data leakage

Data storage

Telemetry libraries

Debian contains some telemetry client libraries and some packages depend or build-depend on them. The code calling these libraries may or may not be active by default, often API keys are required before data may be submitted.

Logging

Servers listening on the network may log information about visitors to the service.

There are many kinds of servers that do this:

See also