For example, an authentication agent 304 in a login system can perform operations, such as modifying a document object model (DOM), structure, or the look/styling of a web page, service, application, or user interface to add new login mechanisms, or to modify existing login mechanisms to facilitate automated authentication and login processes as is described in more detail below. These operations can involve: automatically interacting with user-interface elements; automatically filling in credentials; and interfacing directly with existing authentication mechanisms and interfaces. While performing these operations, authentication agent 304 can optionally hide authentication-related elements, such as usernames, passwords, forgotten-password links, and other elements so as to allow the user authentication operation to proceed without involving explicit user action.
Authentication agents 302 and 304 can also analyze the security of a user's profile and suggest actions for increasing security. For example, while analyzing a user's security profile, an authentication agent can consider: (1) the strength of the user's password with respect to dictionaries, known password leaks, password reuse, and complexity measurements; (2) an amount of information that is known about a user's behavior or environment; (3) how unique a user's behavior and environment are in comparison to those of other users; (4) the security of the user's friends or contacts; (5) the number and variety of devices that a user has registered; and (6) how many active factors have been registered for the user.