13. A system comprising: one or more hardware processors; and one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to build and use a secure index to service queries for a plurality of secure data stores by configuring the one or more processors to: crawl the plurality of secure data stores residing on a plurality of different computer systems; generate an index of a plurality of documents from across the plurality of secure data stores, wherein each of the plurality of documents is associated with one or more security requirements from a corresponding one of the plurality of secure data stores; store, in the index, for each document in the plurality of documents, the corresponding one or more security requirements; receive a query and user identification information from a client device; provide the user identification information to at least one of a plurality of identity management systems, wherein each of the plurality of identity management systems receives the user identification information through a respective Application Program Interface (API); validate a user against at least one identity management system in the plurality of identity management systems; in response to receiving the query, obtain security information for the user of the client device; select each document in the index that is responsive to the query and where the corresponding one or more security requirements are satisfied by the security information of the user; and transmit links to each selected document in the index as a result set to the client device to service the query from the client device.
14. The system of claim 13 , wherein the plurality of secure data stores reside both inside of an enterprise and outside of the enterprise.