A formal, speaker-based definition for the linguistic trope known as a 'dogwhistle' is provided. This definition is supported by an 11-part typological model for distinguishing dogwhistles from similar linguistic tropes (i.e., puns, innuendo, inside jokes) and other speech acts. The model is applied to many data examples from a variety of sources. The model allows for data input, filtering against the criteria, and classification of the speech act as a dogwhistle or not. Additionally, the model can highlight how well the data example adheres to certain criteria. This informs interpretations about whether the speech act is a successfully constructed dogwhistle as well as provide possible reasons for failed dogwhistles. This analysis deepens our understanding of political and social discourse and the ways