We define a self-limiting epidemic service as a dissemination service for ad-hoc environments that is broadcast in nature, but is limited to a local scope around each source. Example applications are chatting or bulletin boards in a traffic jam, in an instant crowd in a campus or, in contrast, along a desert highway. Our goal is to support such a service across a wide range of conditions (dense or sparse). The main problems are to adaptively control scoping and traffic rates to avoid congestion. We propose a system design with the following elements: (1) manipulation of TTL by adaptive aging mechanisms; (2) control of forwarding factor by self-inhibition and inter-inhibition and (3) control of rate of injection by sources. We validate the design by an implementation in Java and analyze it using both simulation and ordinary differential equations. We show how it can be tuned to achieve an appropriate balance between limitation of scope and rate of information. Our design is entirely self-organized, and is free of any form of clustering or leader election.