1. A method of providing a secure, shared search service, comprising: registering a plurality of security filtering modules with said secure, shared search service, wherein each of said security filtering modules is registered by a corresponding one of a plurality of applications, wherein said registering associates each one of said plurality of security filtering modules with said corresponding one of said plurality of applications; obtaining data to be indexed from each of said plurality of applications, wherein said obtaining includes receiving a plurality of documents pushed by individual ones of said plurality of applications through an application programming interface of said search service; indexing said data into a shared search index of said secure, shared search service, wherein said indexing includes storing, for each one of said documents pushed through said application programming interface, in an entry representing said document in an application table within said shared search index, a tag identifying which one of said applications pushed said document through said application specific programming interface, and wherein said indexing further includes storing, for each word in said data, in an index entry for said word, an indication of an entry in said application table representing one of said documents containing said word, an indication of where said one of said documents is stored in memory, and a frequency of occurrences of said word in said one of said documents, and wherein said shared search index is shared across said plurality of applications and a plurality of users; receiving a search query from one of said users; obtaining, responsive to said search query and said index entries, unfiltered initial search results including all documents matching said search query; storing said initial search results prior to displaying any of said initial search results; determining, responsive to and prior to displaying any of said initial search results, said index entries and said document table in said shared search index, for each document in said initial search results, which one of said plurality applications pushed said document though said application programming interface of said shared search service; organizing documents in said initial search results, prior to displaying any of said initial search results, into groups reflecting which of said plurality of applications pushed each document through said application programming interface of said shared search service; determining, for each document in said initial search results, prior to displaying any of said initial search results, one of said plurality of registered security filtering modules registered by a corresponding one of said plurality of applications that pushed said document through said application programming interface of said shared search service to be indexed; applying, prior to displaying any of said initial search results, said security filtering modules registered by said individual ones of said plurality of applications that pushed said documents in said initial search results through said application programming interface to said initial search results to obtain filtered search results, wherein said applying includes said security filtering modules removing documents from said initial search results to which said one of said users does not have access, wherein said applying said security filtering modules obtains a user credential for said user for each one of said applications from which said documents in said initial search results were obtained for indexing and performs application specific security filtering on a document by document basis within said initial search results by individually applying individual ones of said security filtering modules to only those documents of said initial search results pushed through said application programming interface of said search service by corresponding ones of said applications that registered said security filtering modules; and displaying said filtered search results.