1. A computer-implemented method comprising: installing, by a client device, an application, wherein the client device maintains contact information stored on the client device and separate from the application, and wherein the contact information stored on the client device is accessible to at least some applications operable on the client device; detecting that the application has declared a reciprocal intended use of the contact information, wherein the application indicates that the application will use a read function of a contact list application programming interface and use a write function of the contact list application programming interface; determining, by the client device, that, within a predetermined fixed time period, (i) the application has used the read function of the contact list application programming interface to read at least part of the contact information, and (ii) the application has not used the write function of the contact list application programming interface to write a threshold extent of data to the contact information; and in response to (i) the application having declared the reciprocal intended use of the contact information, and (ii) determining that, within the predetermined fixed time period, the application has used the read function of the contact list application programming interface to read at least part of the contact information, and the application has not used the write function of the contact list application programming interface to write the threshold extent of data to the contact information, indicating, by the client device, to at least one of a user interface of the client device and a server device that the application is exhibiting anomalous behavior.