> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maestrobots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 🔒 Security & Privacy

> How Maestro Scraper stores your data and communicates with external services.

Maestro Scraper runs entirely locally. Your Telegram session is encrypted with your OS keychain; other app data is stored in plaintext on your computer.

## Encrypted Storage

Your Telegram session is encrypted using your operating system's native keychain:

* **macOS**: Keychain
* **Windows**: DPAPI (Data Protection API)
* **Linux**: libsecret or kwallet

This means your Telegram session is protected by your OS login credentials. Other app data (channel preferences, address history, activity logs) is stored locally but not encrypted.

## When a Secure Keychain Is Unavailable

Some systems do not have a usable keychain service, such as minimal Linux installs without libsecret or kwallet, or macOS when Keychain access has been denied for Maestro Scraper. On those systems, the login page shows a **Secure keychain is not available** prompt when you turn on **"Remember credentials"**.

You have two choices:

* **Accept & enable** saves your credentials and session using a machine-tied fallback encryption. It is less secure than a system keychain: anyone with administrator or root access to this device could reproduce the key and decrypt your saved data. Pick this only on a machine you control.
* **No thanks** leaves saving turned off. The app still works normally, but you will enter your credentials again each time you restart it.

The prompt appears on every launch where no keychain is available, since the choice is not remembered for you. Accepting again re-enables the fallback for that session, which is enough to read anything you saved in an earlier run.

<Warning>
  The fallback key is tied to this machine, not to your OS login, so treat it as a convenience for a device you control rather than a replacement for a real keychain. Where you can, restore Keychain access on macOS or install the libsecret or kwallet backend on Linux instead.
</Warning>

### Upgrading Back to the Keychain

Once a keychain becomes available again, a small green notice appears next to **"Remember credentials"** on the login page. To move your saved credentials onto the stronger keychain encryption, log out and log back in with **"Remember credentials"** enabled, and the app re-saves them using the keychain. Until you do, your existing fallback-encrypted credentials keep working.

## What Data Is Stored

* **Telegram session** - An encrypted session token that keeps you logged in
* **API credentials** - Only if "Remember credentials" is checked
* **Channel scraping preferences** - Which channels you're scraping and filter settings
* **Address history** - Previously detected addresses (for duplicate detection)
* **Activity logs** - A log of scraping events
* **App settings** - Your preferences (duplicate filtering, bot selection, etc.)

## What Data Is NOT Stored

* Your Telegram password is never stored
* Message content is not persisted (only processed in memory)
* No data is sent to external servers except the Maestro bot, Telegram's own API, and Sentry for error tracking

## Bot Communication

When forwarding addresses to Maestro, the app sends a formatted message containing:

* The detected address(es)
* A link to the source message (if available)
