---
title: Prevent the accidental deletion of a target system
description: Protect PingIDM target resources from accidental mass deletion when a source system is empty by configuring allowEmptySourceSet in the mapping
component: pingidm
version: 8.1
page_id: pingidm:synchronization-guide:prevent-accidental-deletion
canonical_url: https://docs.pingidentity.com/pingidm/8.1/synchronization-guide/prevent-accidental-deletion.html
llms_txt: https://docs.pingidentity.com/pingidm/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Synchronization", "Mappings"]
section_ids:
  preventing-accidental-deletion-ui: Prevent accidental target deletion using the admin UI
  using_the_platform_admin_ui: Using the Platform admin UI
  using_the_legacy_admin_ui: Using the legacy admin UI
---

# Prevent the accidental deletion of a target system

If a source resource is empty, the default behavior is to exit without failure and to log a warning similar to the following:

```
[318] Feb 19, 2020 1:51:56.455 PM org.forgerock.openidm.sync.NonClusteredRecon dispatchRecon
WARNING: Cannot reconcile from an empty data source, unless allowEmptySourceSet is true.
```

The reconciliation summary is also logged in the reconciliation audit log.

This behavior prevents reconciliation operations from accidentally deleting everything in a target resource. In the event that a source system is unavailable but erroneously reports its status as up, the absence of source objects should not result in objects being removed on the target resource.

If you *do* want reconciliations of an empty source resource to proceed, override the default behavior by setting the `allowEmptySourceSet` property to `true` in the mapping. For example:

```json
{
    "mappings" : [
        {
        "name" : "systemCsvfileAccounts_managedUser",
        "source" : "system/csvfile/account",
        "allowEmptySourceSet" : true,
        ...
```

When an empty source is reconciled, the data in the target is wiped out.

## Prevent accidental target deletion using the admin UI

|   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| - | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | Starting with IDM 8.1, the [legacy admin UI is deprecated](../release-notes/deprecated-functionality.html#legacy-admin-ui-deprecated) and is no longer bundled with IDM. New deployments should use the [Platform admin UI](../setup-guide/platform-admin-ui.html), which is the replacement for the legacy admin UI.Both UIs are available as separate downloads from the [Backstage download site](https://backstage.pingidentity.com/downloads):- To install the Platform admin UI, follow the steps in [Install the Platform admin UI for standalone IDM](../setup-guide/platform-admin-ui.html).

- To continue using the legacy admin UI, follow the steps in [Install the legacy admin UI](../setup-guide/legacy-admin-ui.html). |

### Using the Platform admin UI

To allow reconciliations from an empty source using the Platform admin UI:

1. Open the [Advanced Sync](cfg-mapping-resource.html#mappings-platform-ui) editor, and click the Advanced tab.

2. Select Allow reconciliations from an Empty Source, and click Save.

### Using the legacy admin UI

To allow reconciliations from an empty source using the legacy admin UI:

1. From the navigation bar, click Configure > Mappings, and click the mapping to edit.

2. Click the Advanced tab, and expand the Additional Mapping Options node.

3. Enable Allow Reconciliations From an Empty Source.
