A computer system comprising: computer storage holding a plurality of code modules, the code modules being configured when executed to implement a plurality of bots; one or more processors configured to execute the code modules and thereby implement the bots; and a communication system comprising: a message relay configured to receive a message comprising an identifier of a user and an identifier (bIDm) of a target one of the bots, and characterized in that: the communication system further comprises an anonymized identifier generator configured to generate an anonymized identifier of the user unique to the target bot, by applying an anonymization function to the user identifier and the bot identifier (bIDm) in the message wherein the anonymized version of the user identifier is an encrypted version of the user identifier generated by applying to the user identifier an encryption process unique to that bot; wherein the message relay is configured to transmit to the target bot a version of the message, which comprises the anonymized user identifier and does not include the user identifier, wherein the user identifier is not rendered accessible to the target bot. computer storage holding a plurality of code modules, the code modules being configured when executed to implement a plurality of bots; one or more processors configured to execute the code modules and thereby implement the bots; and a communication system comprising: a message relay configured to receive a message comprising an identifier of a user and an identifier (bIDm) of a target one of the bots, and characterized in that: the communication system further comprises an anonymized identifier generator configured to generate an anonymized identifier of the user unique to the target bot, by applying an anonymization function to the user identifier and the bot identifier (bIDm) in the message wherein the anonymized version of the user identifier is an encrypted version of the user identifier generated by applying to the user identifier an encryption process unique to that bot; wherein the message relay is configured to transmit to the target bot a version of the message, which comprises the anonymized user identifier and does not include the user identifier, wherein the user identifier is not rendered accessible to the target bot. a message relay configured to receive a message comprising an identifier of a user and an identifier (bIDm) of a target one of the bots, and characterized in that: the communication system further comprises an anonymized identifier generator configured to generate an anonymized identifier of the user unique to the target bot, by applying an anonymization function to the user identifier and the bot identifier (bIDm) in the message wherein the anonymized version of the user identifier is an encrypted version of the user identifier generated by applying to the user identifier an encryption process unique to that bot; wherein the message relay is configured to transmit to the target bot a version of the message, which comprises the anonymized user identifier and does not include the user identifier, wherein the user identifier is not rendered accessible to the target bot. the communication system further comprises an anonymized identifier generator configured to generate an anonymized identifier of the user unique to the target bot, by applying an anonymization function to the user identifier and the bot identifier (bIDm) in the message wherein the anonymized version of the user identifier is an encrypted version of the user identifier generated by applying to the user identifier an encryption process unique to that bot; wherein the message relay is configured to transmit to the target bot a version of the message, which comprises the anonymized user identifier and does not include the user identifier, wherein the user identifier is not rendered accessible to the target bot.