---
id: UJ-030
title: Import business data and export tenant data
actors: [OWNER, ADMIN]
surface: app.zync.is/imports and app.zync.is/settings/data-privacy
goal: Move tenant data into or out of Zync with validation, progress, and privacy controls.
trigger: Admin starts an import or requests a tenant/user export/deletion.
preconditions:
  - Admin permission; source file/schema or verified export request exists.
success_state: Imported rows have per-row outcomes, or export/deletion job completes with controlled artifact/status.
source_specs:
  - docs/specs/2026-05-31-data-import.md
  - docs/specs/2026-05-31-data-export-gdpr.md
  - docs/specs/2026-05-31-bulk-operations.md
---

## Happy path

1. Admin chooses import type and uploads file → Zync validates format, maps columns, and previews row-level errors.
2. Admin confirms import → asynchronous job creates valid entities, links duplicates according to policy, and records per-row results.
3. Admin opens job → downloads error report and corrects/retries failed rows without duplicating successful rows.
4. Admin requests data export → confirms scope and identity; Zync generates encrypted/expiring artifact and exposes status/download.
5. For deletion/privacy request, admin confirms required safeguards → Zync records request/state and processes it according to retention rules.

## Alternate and failure paths

- Malformed file, unsupported field, duplicate conflict, expired export link, or failed job → preserve source data and show recoverable status.
- Unauthorized scope or missing re-authentication → refuse export/deletion.

## Permissions and boundaries

- Export artifacts contain only the requested tenant/user scope and expire.
- Import never bypasses normal authorization, validation, or audit events.

## Source specs

- `docs/specs/2026-05-31-data-import.md`
- `docs/specs/2026-05-31-data-export-gdpr.md`
- `docs/specs/2026-05-31-bulk-operations.md`
