All of the data generated by Puppet (for example facts, catalogs, reports) is stored in PuppetDB.
Storing data in PuppetDB allows Puppet to work faster and provides an API for other applications to access Puppet's collected data. Once PuppetDB is full of your data, it becomes a great tool for infrastructure discovery, compliance reporting, vulnerability assessment, and more. You perform all of these tasks with PuppetDB queries.
See the PuppetDB docs for more information.