A data linking system for use by an information service provider and by a plurality of clients of the information service provider, comprising: for each client, a data storage system in which is resident a plurality of data elements, wherein each of said data elements pertains to a particular entity and is tagged with a link, wherein each of said links is unique over time, each of said links uniquely corresponds to a particular entity, each of said data elements is tagged with that one of said links corresponding to the entity to which said data element pertains, and each of said links is encoded distinctly for each client; and a central repository of the information service provider, wherein all of said links are resident on said repository in a non-encoded form, and said repository contains a substantially comprehensive listing of all said entities from which said links are generated, wherein each client has an assigned client-specific domain value, the data linking system further comprising a look-up table storing an algorithm identifier and a key for each domain value and an encoding algorithm module, the data linking system being arranged, upon receiving a link to be distributed to a client, to retrieve the algorithm identifier and key corresponding to the client's domain value and provide the link, algorithm identifier and key to the encoding algorithm module, the encoding algorithm module being arranged to encode the link for the client using the algorithm identified by the algorithm identifier and the key whereby the encoded link used by the respective client to identify data elements on an entity is different to the encoded link used by another respective client to identify data elements on the entity, the unencrypted link only being used internally by the central repository whereby such information on data elements provided by the information service provider may not be shared between clients. for each client, a data storage system in which is resident a plurality of data elements, wherein each of said data elements pertains to a particular entity and is tagged with a link, wherein each of said links is unique over time, each of said links uniquely corresponds to a particular entity, each of said data elements is tagged with that one of said links corresponding to the entity to which said data element pertains, and each of said links is encoded distinctly for each client; and a central repository of the information service provider, wherein all of said links are resident on said repository in a non-encoded form, and said repository contains a substantially comprehensive listing of all said entities from which said links are generated, wherein each client has an assigned client-specific domain value, the data linking system further comprising a look-up table storing an algorithm identifier and a key for each domain value and an encoding algorithm module, the data linking system being arranged, upon receiving a link to be distributed to a client, to retrieve the algorithm identifier and key corresponding to the client's domain value and provide the link, algorithm identifier and key to the encoding algorithm module, the encoding algorithm module being arranged to encode the link for the client using the algorithm identified by the algorithm identifier and the key whereby the encoded link used by the respective client to identify data elements on an entity is different to the encoded link used by another respective client to identify data elements on the entity, the unencrypted link only being used internally by the central repository whereby such information on data elements provided by the information service provider may not be shared between clients.