#62: introduce site authenticator