# Global settings

Global settings apply to the **whole pair**.

They control planning safety, write verification, and delete propagation.

### Settings

{% hint style="success" %}
Normally it’s not needed to change any settings here. The defaults are just fine for most users.
{% endhint %}

* **Dry run**: plan only. No writes.
* **Verify after write**: re-check a small sample after writes.
* **Drop guard**: blocks destructive plans when the source snapshot is empty.
* **Allow mass delete**: allows bulk removals when needed.
* **One-Way Remove mode (Deletions based on Source)**: controls how deletes behave in **one-way** pairs.
* **Tombstone retention (days)**: keeps delete markers to avoid re-adding items.
* **Include observed deletes**: treats provider-side deletions as intentional.

<figure><img src="https://565675962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3rh5THg1PdhVsBt3GALo%2Fuploads%2FS9mt0au0OJUwxfncMmgt%2Fimage.png?alt=media&#x26;token=e956e995-a49a-4b4f-9b1c-d012edb9e0f9" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Allow **Mass Delete** is enabled by default because it’s often needed for the very first sync.

Once your pairs are stable, you can disable it for extra safety.

You cannot enable both **Mass Delete** and **Drop guard** at the same time.
{% endhint %}

#### One-Way Remove mode (Deletions based on Source)

This setting controls how CrossWatch plans removals for **one-way** pairs.

It does nothing unless **Remove** is enabled for the feature.

Features that commonly use this:

* Watchlist deletes
* Ratings clears
* Progress clears (where supported)

**Source** (default)

* UI: **Deletions based on Source** = **ON**
* Config: `one_way_remove_mode = "source_deletes"`
* Deletes only when there is a known match between source and destination.

**Mirror**

* UI: **Deletions based on Source** = **OFF**
* Config: `one_way_remove_mode = "mirror"`
* Destination strictly follows source. This will delete destination-only items.

{% hint style="warning" %}
Mirror mode is destructive.

Use it only when you want strict mirroring. Normally you don't need this.
{% endhint %}

### Blackbox (advanced)

Blackbox is a staging area for uncertain changes.

Use it when:

* IDs are unstable.
* Providers “flap” (adds keep reappearing).
* You want a cooldown before applying removals.

<figure><img src="https://565675962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3rh5THg1PdhVsBt3GALo%2Fuploads%2FYCrtrAf9vNb2b6FT6lae%2Fimage.png?alt=media&#x26;token=49fb771d-bc88-4ac8-b42c-4db83ae8ed35" alt=""><figcaption></figcaption></figure>

#### Blackbox settings

* **Enabled**
* **Pair-scoped**
* **Promote after (days)**
* **Unresolved days**
* **Cooldown (days)**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.crosswatch.app/crosswatch/configure-pairs/global-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
