1. A client device comprising: a search module, wherein the search module configured to: send, via a transmitter, a master search query from a first network to a federated search server located in a second network, wherein the first network and the second network are separated such that the federated search server cannot perform searching on the first network; receive, via a receiver, search instructions from the federated search server, wherein the search instructions comprise executable program codes and profile information suitable for any search service to conduct a search according to the master search query; send, via the transmitter, a query to a first search service located in the first network, wherein the query uses the search instructions; receive, via the receiver, a first search result from the first search service in response to the query; send, via the transmitter, the first search result to the federated search server; and receive, via the receiver, a second search result from the federated search server, wherein the second search result was produced by the federated search server querying a second search service located in the second network.