A computer-implemented method to screen for unauthorized devices, comprising: receiving, by one or more computing devices, a request from a requesting device to access a resource; generating, by the one or more computing devices, a challenge for the requesting device, wherein the challenge includes a first set of data, and wherein the challenge requires a browser of the requesting device to perform a browser task with respect to the first set of data to generate a second set of data, wherein the browser task does not require human input; providing, by the one or more computing devices, the challenge to the requesting device; receiving, by the one or more computing devices, a response to the challenge from the requesting device, wherein the response includes the second set of data generated by the browser of the requesting device through performance of the browser task with respect to the first set of data, wherein the response does not include human input; determining, by the one or more computing devices, whether the browser of the requesting device is an authorized browser based at least in part on the second set of data; and determining, by the one or more computing devices, whether the requesting device is authorized to access the resource based at least in part on whether the browser of the requesting device is an authorized browser, wherein determining, by the one or more computing devices, whether the browser of the requesting device is an authorized browser based at least in part on the second set of data comprises: comparing the second set of data to target data that includes one or more previous responses associated with one or more browser-types, identifying a browser-type associated with the browser based at least in part on the comparison of the second set of data to the target data, and determining thereon whether the browser-type associated with the browser is an authorized browser-type. receiving, by one or more computing devices, a request from a requesting device to access a resource; generating, by the one or more computing devices, a challenge for the requesting device, wherein the challenge includes a first set of data, and wherein the challenge requires a browser of the requesting device to perform a browser task with respect to the first set of data to generate a second set of data, wherein the browser task does not require human input; providing, by the one or more computing devices, the challenge to the requesting device; receiving, by the one or more computing devices, a response to the challenge from the requesting device, wherein the response includes the second set of data generated by the browser of the requesting device through performance of the browser task with respect to the first set of data, wherein the response does not include human input; determining, by the one or more computing devices, whether the browser of the requesting device is an authorized browser based at least in part on the second set of data; and determining, by the one or more computing devices, whether the requesting device is authorized to access the resource based at least in part on whether the browser of the requesting device is an authorized browser, wherein determining, by the one or more computing devices, whether the browser of the requesting device is an authorized browser based at least in part on the second set of data comprises: comparing the second set of data to target data that includes one or more previous responses associated with one or more browser-types, identifying a browser-type associated with the browser based at least in part on the comparison of the second set of data to the target data, and determining thereon whether the browser-type associated with the browser is an authorized browser-type. <EOS>