Some Emacs packages, which connect to other services, require authentication (see Passwords), e.g., see Gnus, or Tramp. Because it might be annoying to provide the same user name and password again and again, Emacs offers to keep this information persistent via the auth-source library.
By default, the authentication information is taken from the file ~/.authinfo or ~/.authinfo.gpg or ~/.netrc. These files have a syntax similar to netrc files as known from the ftp program, like this:
machine mymachine login myloginname password mypassword port myport
Similarly, the auth-source library supports multiple storage backend, currently either the classic netrc backend, JSON files, the Secret Service API, and pass, the standard unix password manager.
All these alternatives can be customized via the user option
auth-sources, see Emacs auth-source.
When a password is entered interactively, which is not found via the
configured backend, some of the backends offer to save it
persistently. This can be changed by customizing the user option