A computer-implemented method for verifying a user as a human user, the computer-implemented method comprising: receiving (212,402, 502), from a user computing device and by one or more computing devices implementing a computerized Completely Automated Public Turing test to tell Computers and Humans Apart, CAPTCHA, system, a single request to engage in a verification process for accessing, by the user computing device, a resource provider computing device; determining, by the one or more computing devices and from the single request, a challenge to provide to the user computing device, by: obtaining (214,404,504), by the one or more computing devices, one or more reputation signals associated with the user computing device including accessing, from a database, a user web-history associated with the user computing device and treating the web-history as a reputation signal, the database being external to the one or more computing devices; determining (214,406,506), by the one or more computing devices, a trust score for the user computing device based on the one or more reputation signals; and selecting (216,408,508), by the one or more computing devices, and based at least in part on the trust score, the challenge to provide (410,510) to the user computing device; receiving (222,412,512), by the one or more computing devices, a response to the challenge from the user computing device; updating, by the one or more computing devices, the trust score based on the response to the challenge to obtain an updated trust score; and determining, by the one or more computing devices, whether to verify the user computing device based on the updated trust score by providing, by the one or more computing devices, a verification token to the user computing device when the updated trust score is greater than a threshold value. receiving (212,402, 502), from a user computing device and by one or more computing devices implementing a computerized Completely Automated Public Turing test to tell Computers and Humans Apart, CAPTCHA, system, a single request to engage in a verification process for accessing, by the user computing device, a resource provider computing device; determining, by the one or more computing devices and from the single request, a challenge to provide to the user computing device, by: obtaining (214,404,504), by the one or more computing devices, one or more reputation signals associated with the user computing device including accessing, from a database, a user web-history associated with the user computing device and treating the web-history as a reputation signal, the database being external to the one or more computing devices; determining (214,406,506), by the one or more computing devices, a trust score for the user computing device based on the one or more reputation signals; and selecting (216,408,508), by the one or more computing devices, and based at least in part on the trust score, the challenge to provide (410,510) to the user computing device; obtaining (214,404,504), by the one or more computing devices, one or more reputation signals associated with the user computing device including accessing, from a database, a user web-history associated with the user computing device and treating the web-history as a reputation signal, the database being external to the one or more computing devices; determining (214,406,506), by the one or more computing devices, a trust score for the user computing device based on the one or more reputation signals; and selecting (216,408,508), by the one or more computing devices, and based at least in part on the trust score, the challenge to provide (410,510) to the user computing device; receiving (222,412,512), by the one or more computing devices, a response to the challenge from the user computing device; updating, by the one or more computing devices, the trust score based on the response to the challenge to obtain an updated trust score; and determining, by the one or more computing devices, whether to verify the user computing device based on the updated trust score by providing, by the one or more computing devices, a verification token to the user computing device when the updated trust score is greater than a threshold value. updating, by the one or more computing devices, the trust score based on the response to the challenge to obtain an updated trust score; and determining, by the one or more computing devices, whether to verify the user computing device based on the updated trust score by providing, by the one or more computing devices, a verification token to the user computing device when the updated trust score is greater than a threshold value.