# Which Holehe Modules Are Excluded by the --no-password-recovery Flag?

> Discover which Holehe modules are excluded by the --no-password-recovery flag. Learn how this flag impacts adobe, mail ru, odnoklassniki, and samsung services while preserving other OSINT capabilities.

- Repository: [Palenath/holehe](https://github.com/megadose/holehe)
- Tags: how-to-guide
- Published: 2026-08-23

---

**The `--no-password-recovery` flag excludes four specific modules—adobe, mail_ru, odnoklassniki, and samsung—preventing password-recovery probes against these services while maintaining full OSINT coverage of other platforms.**

Holehe is an open-source intelligence tool that checks email address registrations across hundreds of websites and applications. When investigators need to avoid triggering security alerts on services that flag password-recovery attempts, the `--no-password-recovery` (`-NP`) flag provides a safe mode that omits high-risk modules. This behavior is controlled centrally in the repository’s core logic.

## How the Filter Works in holehe/core.py

Inside [[`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py)](https://github.com/megadose/holehe/blob/master/holehe/core.py), the `get_functions()` method constructs the list of modules to query. When the CLI argument `args.nopasswordrecovery` is set to `True`, the code explicitly skips four hardcoded modules by checking their string representations. This logic appears at [lines 58‑61](https://github.com/megadose/holehe/blob/master/holehe/core.py#L58-L61):

```python
if args is not None and args.nopasswordrecovery == True:
    if ("adobe" not in str(modu.__dict__[site]) and
        "mail_ru" not in str(modu.__dict__[site]) and
        "odnoklassniki" not in str(modu.__dict__[site]) and
        "samsung" not in str(modu.__dict__[site])):
        websites.append(modu.__dict__[site])

```

When the condition passes, the module is appended to the `websites` list. If any of the four target strings appear in the module’s dictionary representation, that module is bypassed entirely, ensuring no network requests are sent to their password-recovery endpoints.

## The Four Excluded Modules

The `--no-password-recovery` flag removes the following four modules from the execution chain:

- **[`adobe`](https://github.com/megadose/holehe/blob/master/holehe/modules/software/adobe.py)** – Located in [`holehe/modules/software/adobe.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/software/adobe.py), this module checks Adobe account existence via password-recovery flows that can trigger CAPTCHA or rate-limiting mechanisms.

- **[`mail_ru`](https://github.com/megadose/holehe/blob/master/holehe/modules/mails/mail_ru.py)** – Found in [`holehe/modules/mails/mail_ru.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/mails/mail_ru.py), this probe verifies Mail.ru registrations using recovery endpoints that may log suspicious activity.

- **[`odnoklassniki`](https://github.com/megadose/holehe/blob/master/holehe/modules/social_media/odnoklassniki.py)** – Stored in [`holehe/modules/social_media/odnoklassniki.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/social_media/odnoklassniki.py), this module targets the Russian social network’s account recovery system.

- **[`samsung`](https://github.com/megadose/holehe/blob/master/holehe/modules/products/samsung.py)** – Located in [`holehe/modules/products/samsung.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/products/samsung.py), this check queries Samsung account services via recovery endpoints that could lock or alert the target account.

All other modules in `holehe/modules/`—spanning categories like entertainment, shopping, and professional networks—remain active regardless of this flag.

## Practical Usage Examples

Run Holehe with password-recovery checks disabled to avoid triggering security mechanisms on the four sensitive platforms:

```bash
holehe --no-password-recovery target@example.com

```

Or use the short flag:

```bash
holehe -NP target@example.com

```

For full reconnaissance including all modules (default behavior), simply omit the flag:

```bash
holehe target@example.com

```

## Key Source Files

Understanding the architecture requires reviewing these specific files:

| File | Purpose |
|------|---------|
| [[`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py)](https://github.com/megadose/holehe/blob/master/holehe/core.py) | Central CLI handler; contains `get_functions()` that implements the `--no-password-recovery` filtering logic. |
| [[`holehe/modules/software/adobe.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/software/adobe.py)](https://github.com/megadose/holehe/blob/master/holehe/modules/software/adobe.py) | Adobe account verification module excluded when the flag is active. |
| [[`holehe/modules/mails/mail_ru.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/mails/mail_ru.py)](https://github.com/megadose/holehe/blob/master/holehe/modules/mails/mail_ru.py) | Mail.ru verification module excluded when the flag is active. |
| [[`holehe/modules/social_media/odnoklassniki.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/social_media/odnoklassniki.py)](https://github.com/megadose/holehe/blob/master/holehe/modules/social_media/odnoklassniki.py) | Odnoklassniki verification module excluded when the flag is active. |
| [[`holehe/modules/products/samsung.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/products/samsung.py)](https://github.com/megadose/holehe/blob/master/holehe/modules/products/samsung.py) | Samsung account module excluded when the flag is active. |

## Summary

- The `--no-password-recovery` (`-NP`) flag filters out exactly four modules: **adobe**, **mail_ru**, **odnoklassniki**, and **samsung**.
- Filtering logic resides in `get_functions()` within [[`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py)](https://github.com/megadose/holehe/blob/master/holehe/core.py#L58-L61), where string matching against module names determines inclusion.
- These specific modules use password-recovery endpoints that may trigger security alerts, CAPTCHAs, or account locks.
- All other Holehe modules execute normally regardless of this flag, ensuring comprehensive OSINT coverage for the remaining platforms.

## Frequently Asked Questions

### Why does Holehe exclude these specific four modules?

These modules rely on password-recovery endpoints rather than standard registration-check APIs. Services like Adobe, Mail.ru, Odnoklassniki, and Samsung monitor recovery attempts closely for brute-force protection. Excluding them prevents investigators from inadvertently alerting targets or hitting rate limits that could compromise the investigation.

### How do I enable the no-password-recovery mode?

Append the `--no-password-recovery` argument or use the shorthand `-NP` when invoking the tool from the command line. This boolean flag signals `get_functions()` to apply the hardcoded filter before building the execution list.

### Will skipping these modules reduce my OSINT coverage?

You will lose visibility into registrations on Adobe, Mail.ru, Odnoklassniki, and Samsung specifically. However, Holehe contains hundreds of other modules for email verification across social media, shopping, and professional platforms that remain fully operational when using this flag.

### Can I customize which modules are excluded when using this flag?

No. The `--no-password-recovery` flag uses a hardcoded list in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) containing only the four module names. To exclude additional modules, you would need to modify the source code in `get_functions()` or fork the repository to implement custom filtering logic.