1. A method to be executed in a computing device for providing speech recognition with local and remote feedback loops, the method comprising: collecting user data at the computing device executing a speech recognition application for the user, wherein the user data includes live and stored audio recordings by the user, the recordings being used to generate statistics data in order to adapt a generic acoustic model to a customized acoustic model, wherein the user data is stored as locally customized models in data stores on the computing device; identifying an uncertainty of privacy of the user data and classifying at least some of the user data as not private data and a subset of the user data as private data; aggregating the user data including the not private data through a feedback mechanism including new words collected and not previously recognized by the speech recognition application; filtering the private data from the aggregated user data to prevent storage of the private data in the computing device, wherein the filtering is performed on locally stored data exposed through the computing device, and wherein the private data is filtered at different levels for a local adaptation module and a remote system developer; providing the locally stored data filtered at a local feedback level to a speech recognition engine through the local adaptation module to customize current language and acoustic models of the speech recognition engine; and providing the locally stored data filtered at a remote feedback level to a system developer to update a generic language and the acoustic models for the speech recognition engine.