Get a free trial →

Push Logo

Ghost logins: what they are and how to find and fix them

Geometry graphic

Ghost logins: the SaaS accounts your IdP can't see or control

How ghost logins work

  1. A user creates an account with a username and password, and no MFA
  2. SSO is later enabled for the application, providing an MFA-protected secure access method
  3. But the original credential remains valid unless explicitly removed
  4. The account can now be accessed through both SSO and direct login, and MFA is only applied at the IdP layer
  5. Attackers with a stolen credential can access the app directly without routing through the IdP

Why most security tools miss ghost logins

Push Security account detail view exposing a ghost login path where a local credential remains active outside SSO on a SaaS application.

Ghost logins are both an initial access and persistence problem

Push Security dashboard listing accounts with unmanaged ghost login paths, showing which users have direct login credentials that bypass SSO controls.

How Push detects and eliminates ghost logins

Push Security dashboard listing accounts with unmanaged ghost login paths, showing which users have direct login credentials that bypass SSO controls.

Frequently asked questions

Local accounts on SaaS applications that persist after SSO is configured — legacy password-based logins that bypass your identity provider entirely. When an organization rolls out SSO, users who previously signed up with a direct password often retain that local credential alongside their federated login. The local account remains accessible even after SSO access is revoked.

Push coined the term "ghost logins" to describe this gap. The problem is structural: SSO replaces the authentication path but doesn't deactivate the original local account. Push detects ghost logins by observing login behavior in the browser — identifying when users authenticate via password instead of SSO.

You need a tool that observes actual login behavior across all applications. Your IdP only sees federated logins — it's structurally blind to local accounts where users authenticate directly with a password.

Push detects ghost logins by monitoring login events in the browser: apps where SSO is configured but users still use password fallback, apps that were never federated, dormant accounts, and shared accounts with locally managed credentials. Push shows MFA status, password strength, and authentication method for each login.

A tool with browser-level visibility into login events — one that sees how users actually authenticate, not just what your IdP reports. IdPs, CASBs, and SSPM tools are structurally blind to local password-based logins on SaaS apps because those logins don't pass through the identity provider.

Push provides this visibility as a browser extension that monitors login events across every application employees access. It also provides SSO login guidance — in-browser guardrails that nudge users toward SSO when available — reducing new ghost login creation over time.

Yes. If a user created a local account before SSO was configured, that local account persists after SSO access is revoked. The original password still works. The local account bypasses your IdP's MFA requirements and conditional access policies. Offboarding the account via your IdP feels comprehensive but leaves these access paths intact.

Push identifies ghost logins proactively so they can be addressed as part of identity hygiene rather than discovered after a breach.

SSO controls the federated authentication path only. If the user ever set a local password on the application, that credential is managed by the SaaS app itself, not by your IdP. Revoking SSO doesn't touch it.

This gap exists because SSO adoption is additive — applications add SSO as an option rather than removing local authentication. To fully deactivate a user's access, you need to deactivate their local account on each application separately, which requires knowing which apps have local accounts. Push provides this visibility.

Push shows exactly where users authenticate with passwords instead of SSO by observing login events in the browser. For each login, Push captures the authentication method, application, and credential strength — giving you a complete map of SSO coverage gaps.

Your IdP only reports on federated apps. Network-based tools can tell you an application was accessed but can't determine the authentication method. Push's login-event-based approach is the most reliable way to identify where SSO isn't being used.

Push identifies dormant accounts using login recency data observed through browser telemetry. If an account hasn't been accessed within a defined period, it's flagged as dormant. These accounts represent both a security risk (unused credentials that could be exploited) and a licensing cost.

Dormant accounts are a variant of the ghost login problem — created months ago, used briefly, then abandoned with their original password. Push combines dormant account detection with compromised credential detection to identify the highest-risk accounts: dormant, using a breached password, with no MFA.

You can't fully prevent it — most SaaS apps allow self-service signup. What you can do is detect it immediately and enforce credential hygiene at the point of account creation.

Push identifies new non-SSO logins as they happen. SSO login guidance nudges users toward SSO when available, reducing new ghost login creation. Password strength enforcement ensures any local accounts meet your policy requirements. Detection plus guardrails is more effective than trying to block self-service signup entirely, which drives usage underground.

Local SaaS accounts sit outside your identity provider's control — typically lacking MFA enforcement, password policy compliance, conditional access protections, and centralized monitoring. They're vulnerable to credential stuffing (if the password is reused), invisible to your SIEM and IdP-based detection, and persist after employee offboarding.

Push addresses these risks by detecting local accounts, enforcing password strength at login, detecting compromised credentials, enforcing MFA via in-browser guardrails, and providing SSO login guidance.

An attacker who obtains credentials for a ghost login — via data breach, infostealer, or credential stuffing — can access the application directly without encountering SSO, MFA, or conditional access controls. The local account bypasses every identity security control because those controls only govern the federated authentication path.

Direct access to a key SaaS app provides access to data and functionality that is incredibly lucrative to attackers. Often, downstream apps like Snowflake, Salesforce, and Atlassian (Jira/Confluence) are the real target in IdP-focused phishing and session hijacking attacks — because it’s where customer data, valuable IP, and abusable functionality lives. This pattern has been seen in many recent breaches.

Ghost logins are particularly valuable to attackers because they're invisible to the organization's detection stack. An IdP-based anomaly detection tool won't see the login. Push detects ghost login exploitation by observing the login event in the browser — identifying the authentication method and credential status regardless of whether the app is IdP-managed.