الفصل 17a الامتثال والتخزين & التشغيل الإدارة: #/protect/overview

النسخ الاحتياطي والاستعادة (nextxch Protect): تصدير الأدلة، الإعدادات، البيانات، الاستعادة وتغيير المزوّد

يجمع nextxch Protect كل ما تحتاجونه للإثبات والنسخ الاحتياطي والاستعادة في الإدارة تحت النسخ الاحتياطي والاستعادة: تصدير EML بقيمة إثباتية مع بيان موقّع بـ Ed25519، ونسخ احتياطي للإعدادات مع إصدارات، ونسخ احتياطي تزايدي مشفر للبيانات (دليل أو مشاركة SMB أو S3 مع Object Lock)، والاستعادة إلى صندوق البريد من أرشيف GoBD أو العناصر المحذوفة أو نسخة احتياطية للبيانات، والاستعادة الكاملة (Bare-Metal) عند التشغيل الأول، والنشر عبر خط الإنتاج (Pipeline) مع الاستعادة إضافةً إلى المزامنة الحية عند تغيير المزوّد. كل ذلك مدمج في الخادم، بدون منتج إضافي وبدون خدمة خارجية.

نصيحة تشغيلية وملاحظة حول البنية

ترتيب البدء: أعدّوا أولًا مفتاح النسخ الاحتياطي تحت النسخ الاحتياطي والاستعادة > الإعدادات (عبارة مرور من 12 حرفًا على الأقل أو مفتاح استرداد، وذلك فقط بصفتكم مسؤولًا للخادم بعد تسجيل الدخول) واحفظوه خارج الخادم. تستخدم النسخة الاحتياطية للإعدادات والبيانات المفتاح نفسه؛ ولا يخزّن الخادم إلا الجزء العام، فيمكنه كتابة النسخ الاحتياطية دون أن يتمكن من قراءتها أبدًا. الترخيص: النسخ الاحتياطي للإعدادات، والتحقق من تصديرات الأدلة، والخدمة الذاتية في Webmail، والاستعادة عند التشغيل الأول، واستعادة الإعدادات عبر خط الإنتاج مشمولة في جميع الفئات؛ أما النسخ الاحتياطي للبيانات، وتصدير الأدلة، ومهام الاستعادة، وجزء البيانات في الاستعادة عبر خط الإنتاج، والمزامنة الحية فاعتبارًا من Business.

1. البدء السريع: المفتاح، الوجهة، أول نسخة احتياطية والتحقق

تُعدّ الوجهات والجداول الزمنية تحت النسخ الاحتياطي والاستعادة > الجداول الزمنية والوجهات (لمسؤولي الخادم فقط). يسجّل nextxch-cli الدخول باستخدام مفتاح API أو بيانات دخول المسؤول.

المرجع / الإعداد
# 1. Admin > Backup & Recovery > Configuration: set up the backup key
#    (passphrase of 12+ characters or recovery key, keep it safe outside the server)
# 2. Schedules & targets: add a target (directory, SMB share \\nas\backup\nextxch or S3) and "Test"
# 3. Back up the configuration (every tier) and take it along as a file:
nextxch-cli config backup --label "before migration" -o nextxch-config.zip

# 4. Data backup (Business): full first, then incremental by schedule
nextxch-cli backup run --target nas --full
nextxch-cli backup list --target nas

# 5. Verify, with the passphrase including decryption of the sample
export NEXTXCH_BACKUP_PASSPHRASE='...'
nextxch-cli backup verify --target nas --passphrase-env NEXTXCH_BACKUP_PASSPHRASE --limit 200

2. التصدير بقيمة إثباتية: ZIP، البيان، التوقيع والتحقق

تُضاف الرسائل إلى ملف ZIP بايتًا ببايت بصيغة .eml. يسرد manifest.json كل ملف مع SHA-256 والحجم وتجزئة الأرشيف وحالة السلامة والاحتفاظ والتجميد القانوني (Legal Hold)؛ وmanifest.json.sig توقيع Ed25519 على البايتات الدقيقة للبيان، مشتق من سر الخادم ومتطابق على جميع عقد العنقود. يُرجع GET /api/compliance/exports/public-key المفتاح العام بدون تسجيل دخول. لا يزيل خيار فك التشفير إلا التشفير أثناء التخزين (لـ ServerAdmin وComplianceAuditor فقط، وإلا 403 DECRYPT_NOT_ALLOWED)؛ وهو ليس فك تشفير عامًا لـ S/MIME أو OpenPGP. يُرجع التنزيل الفردي GET /api/compliance/messages/{id}/raw التجزئات كترويسات HTTP هي X-Nextxch-Sha256 وX-Nextxch-Stored-Sha256 وX-Nextxch-Integrity وRepr-Digest. التصدير اعتبارًا من Business، والتحقق في جميع الفئات.

المرجع / الإعداد
nextxch-evidence-20261111-0930-1a2b3c4d.zip
  messages/000001-<archiveId>.eml     original message, byte for byte
  messages/000002-<archiveId>.eml
  SHA256SUMS.txt                      verifiable with sha256sum -c
  manifest.json                       format nextxch-evidence-export/1, scope (incl. caseReference), items[]
  manifest.json.sig                   Ed25519: algorithm, keyId, publicKey, signedSha256, signature
  README.txt

# Start an export (202, status under GET /api/compliance/exports/{id}):
curl -X POST https://mail.company.com/api/compliance/exports -H "X-Api-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{"scope":"mailbox","account":"anna@company.com","sinceUtc":"2026-01-01T00:00:00Z","caseReference":"Case 2026-0815"}'

# Verify offline, without access to the server (exit code 0 valid, 1 invalid/tampered, 2 usage error):
curl -s https://mail.company.com/api/compliance/exports/public-key > nextxch-evidence-key.json
nextxch-cli export verify nextxch-evidence-20261111-0930-1a2b3c4d.zip --public-key <publicKey from the file>
unzip -d export nextxch-evidence-20261111-0930-1a2b3c4d.zip && cd export && sha256sum -c SHA256SUMS.txt

3. النسخ الاحتياطي للإعدادات: المحتوى، التشفير، المقارنة والاستعادة الجزئية

تحتوي الحزمة على الإعدادات كشيفرة (config/*.yaml)، وملفات الحالة بدون أسرار (server/*)، وقواعد Sieve، والأسرار المشفرة في secrets.enc (AES-256-GCM، مفتاح البيانات مغلّف لمفتاح النسخ الاحتياطي؛ ويمكن أن تحصل النسخة الاحتياطية اليدوية إضافةً على عبارة مرور خاصة بها). الأقسام: config:<area> وdkim وpasswords وtls-certificates وapi-keys وsieve وserver-files وlicence؛ ولا تُستعاد licence وpasswords وapi-keys إلا عند تسميتها صراحةً. الاستعادة افتراضيًا تشغيل تجريبي مع معاينة. متاحة في جميع الفئات؛ REST تحت /api/v1/config/backups.

المرجع / الإعداد
nextxch-cli config list                                   # versions (reason: manual, pre-update, after-change, pre-restore, import)
nextxch-cli config diff 20261101T020000Z-a1b2c3 current             # difference between two versions or to the current state
nextxch-cli config backup --label "before update" --passphrase-env BACKUP_PW -o nextxch-config.zip
nextxch-cli config import -f nextxch-config.zip           # take over a package of another server

# Partial restore: preview first, then apply
nextxch-cli config restore 20261101T020000Z-a1b2c3 --sections dkim,config:domains --domain company.com --dry-run
nextxch-cli config restore 20261101T020000Z-a1b2c3 --sections dkim,config:domains --domain company.com --yes

# REST: POST /api/v1/config/backups/{id}/restore
# {"sections":["dkim","config:domains"],"domain":"company.com","prune":false,"dryRun":true}

4. النسخ الاحتياطي للبيانات: الوجهات والتنسيق والفهرس

ينتج كل تشغيل إصدارًا مستقلًا بذاته: لقطة قاعدة بيانات لكل جدول (محايدة تجاه المزوّد، لذا يمكن أيضًا الانتقال من SQLite إلى PostgreSQL)، وملفات الحالة، وبيان أرشيف GoBD، وجميع الكائنات الثنائية (Blobs) المشار إليها. تُعنون الكائنات الثنائية بـ SHA-256 وتُنقل مرة واحدة فقط؛ ويرفع التشغيل التزايدي التجزئات الجديدة فقط. يُخزَّن كل شيء مشفرًا بتنسيق NXB1 (AES-256-GCM على أجزاء، مرتبط باسم الكائن). الفهرس وفهرس الكائنات الثنائية بتنسيق JSON مقروء بدون أسرار، والفهرس موقّع بمفتاح Ed25519 الخاص بتصدير الأدلة. التنسيق الكامل موجود في المستودع تحت docs/protect/backup-format.md. اعتبارًا من Business؛ REST تحت /api/admin/protect/backups (مسؤولو الخادم).

المرجع / الإعداد
<target>/                                 directory, SMB share or s3://bucket/nextxch-backup/
  nextxch-backup.json                       target marker
  keys/backup-key-<keyId>.json              public key + sealed private key
  keys/dk-<dataKeyId>.json                  data key of one run (ECDH wrapped)
  blobs/ab/cd/<sha256>.nxb                  one mail or file content, immutable
  versions/20261111T023000Z-a1b2c3/
    catalog.json  catalog.json.sig          catalog (written last = version complete) + signature
    blobs.ndjson.gz                         blob index of the version
    db/<table>.ndjson.gz.nxb                database snapshot, one file per table
    files/<path>.nxb                        state files of the data directory
    archive-manifest.json.gz.nxb            retention, legal hold, integrity chain

# Settings via REST (PUT /api/admin/protect/backups/settings):
{"verifyEveryHours":24,"verifySampleSize":50,"alertOnFailure":true,"uploadParallelism":4}

# Back up a domain or single mailboxes:
nextxch-cli backup run --target s3-fsn1 --scope domains:company.com,company.at
nextxch-cli backup run --target s3-fsn1 --scope mailboxes:anna@company.com --no-wait

5. الاستعادة إلى صندوق البريد: المصدر، النقطة الزمنية، الوجهة

المصادر: archive (أرشيف GoBD) وrecoverable (العناصر المحذوفة) وbackup (النسخة الاحتياطية للبيانات). اختاروا النقطة الزمنية باستخدام --point (معرّف اللقطة أو day:yyyy-MM-dd أو latest) أو --as-of. الوجهات: original (المجلد الأصلي) وrestored (الافتراضي، المجلد "Wiederhergestellt yyyy-MM-dd"، والاسم عبر --label) وaccount (صندوق بريد آخر للمستأجر نفسه، مثل صندوق بريد الخلف). تُتخطى النسخ المكررة وفق SHA-256 وMessage-ID وUID، وتبقى المصادر دون تغيير. مسموح لـ TenantAdmin وServerAdmin، حتى 250,000 عنصر لكل مهمة؛ المهام اعتبارًا من Business، والسياسة والخدمة الذاتية في Webmail في جميع الفئات.

المرجع / الإعداد
nextxch-cli restore points  --account anna@company.com --source backup
nextxch-cli restore browse  --account anna@company.com --source backup --point latest --folder INBOX --filter "invoice"
nextxch-cli restore preview --account anna@company.com --source archive --as-of 2026-10-31T23:59:59Z --folder "Projects/Plant"
nextxch-cli restore start   --account anna@company.com --source archive --as-of 2026-10-31T23:59:59Z \
  --folder "Projects/Plant" --target restored --label "Plant (restored)"

# Whole mailbox into a successor mailbox:
nextxch-cli restore start --account ben@company.com --source backup --point day:2026-11-01 \
  --target account --target-account successor@company.com --passphrase-env NEXTXCH_BACKUP_PASSPHRASE
nextxch-cli restore jobs --account ben@company.com

# REST: /api/compliance/restore (sources, points, browse, preview, jobs, policy)
# Webmail: GET /api/mail/self-restore, POST /api/mail/self-restore {"ids":[...]}

6. الاستعادة الكاملة (Bare-Metal): تثبيت جديد مع نسخة احتياطية يعيد إليكم الخادم القديم

في التثبيت الجديد (MSI أو Docker أو Linux، بحد أقصى مستأجر واحد ونطاق واحد وحساب واحد ودون تسجيل دخول للمسؤول بعد) تعرض /setup/ الخيار "الاستعادة من نسخة احتياطية" أسفل تسجيل الدخول: رفع الحزمة، عبارة المرور، المعاينة، الاستعادة، واختياريًا النسخة الاحتياطية للبيانات، ثم الإنهاء وإعادة التشغيل. الوصول فقط باستخدام رمز الإعداد لمرة واحدة الذي يكتبه التشغيل الأول في السجل وفي {DataDirectory}/first-run/setup-token.txt (الترويسة X-Nextxch-Setup-Token)، أو من الخادم نفسه مع Setup:TrustLoopback=true. يُغلق أول تسجيل دخول للمسؤول أو الإنهاء المعالج نهائيًا. لا يُنقل مفتاح النسخ الاحتياطي الخاص بالخادم القديم ويجب إعداده من جديد بعد ذلك. فهرس النص الكامل في SQLite ليس جزءًا من النسخة الاحتياطية: يعثر البحث على الرسائل المستعادة بعد إعادة الفهرسة.

المرجع / الإعداد
# Headless via CLI (same API /api/setup):
export NEXTXCH_SETUP_TOKEN="$(cat /var/lib/nextxch/first-run/setup-token.txt)"
export NEXTXCH_BACKUP_PASSPHRASE='...'
nextxch-cli setup restore --config nextxch-config.zip --data s3://dr-bucket/nextxch/ --prune --dry-run
nextxch-cli setup restore --config nextxch-config.zip --data s3://dr-bucket/nextxch/ --prune --yes

# Unattended on first start (Docker Compose, Kubernetes, MSI):
environment:
  NEXTXCH_RESTORE_FROM: s3://dr-bucket/nextxch/          # .zip, directory, s3://, https:// or config-backup:<id>
  NEXTXCH_RESTORE_PASSPHRASE: ${BACKUP_PASSPHRASE}       # without: configuration without secrets
  NEXTXCH_RESTORE_DATA_FROM: s3://dr-bucket/nextxch/     # optional, location of the data backup
  NEXTXCH_RESTORE_PRUNE: "true"                          # remove bootstrap objects
  NEXTXCH_RESTORE_WITH_CREDENTIALS: "true"               # passwords, API keys, licence (default true)
  NEXTXCH_RESTORE_S3_ENDPOINT: https://fsn1.your-objectstorage.com
  NEXTXCH_RESTORE_S3_ACCESS_KEY: ${S3_KEY}
  NEXTXCH_RESTORE_S3_SECRET_KEY: ${S3_SECRET}
# Result: {DataDirectory}/pipeline-restore/first-start.json ("ok": true = variable is ignored afterwards)
# Helm: restore.from, restore.scope, restore.mapping, restore.passphrase, restore.s3.* (replicaCount: 1)

7. النشر عبر خط الإنتاج مع الاستعادة (nextxch-cli deploy --restore)

يعيد أمر واحد أو خطوة واحدة في خط الإنتاج بناء خادم من نسخة احتياطية: تطبيق الإعدادات، واستعادة البيانات، وتشغيل الفحوص (عيّنة تجزئة، والسلامة، ورسالة اختبار إلى Mailpit أو صندوق بريد محلي فقط) واختياريًا تعليمات لتغيير DNS/MX؛ ولا يُغيَّر DNS تلقائيًا أبدًا. كل تشغيل متساوي القوة (Idempotent) ويستأنف من آخر خطوة مكتملة بعد الإلغاء. يعيد ملف التعيين (النوع RestoreMapping، والمخطط تحت GET /api/v1/deploy/mapping-schema) كتابة أسماء المضيفين وعناوين IP والمسارات، ويحدد مصدر الشهادات (backup أو acme أو files) ويصف قاعدة البيانات والتخزين للمضيف الجديد؛ ولا تُعاد تسمية نطاقات البريد أبدًا. تسجيل الدخول بمفتاح تكامل ذي النطاق deploy.restore. الإعدادات في جميع الفئات، وجزء البيانات اعتبارًا من Business (باستثناء التشغيل الأول لتثبيت جديد)؛ ويغطي جزء البيانات النطاق all.

المرجع / الإعداد
# mapping.yaml
apiVersion: nextxch/v1
kind: RestoreMapping
hostnames:
  mail.old-provider.example: mail.company.com
ips:
  203.0.113.10: 198.51.100.20
paths:
  "C:\\Data\\NextxchData": /var/lib/nextxch
certificates:
  mode: acme                      # backup | acme | files
  acme: {contactEmail: hostmaster@company.com}
database:
  provider: Postgres              # must match the new host (Storage__Provider)
  connectionStringEnv: NEXTXCH_PG_CONNECTION
storage:
  blobBackend: S3
  s3: {endpoint: https://fsn1.your-objectstorage.com, bucket: nextxch-mail}

# Plan (dry run, shows every replacement), then restore with checks:
nextxch-cli deploy --restore ./nextxch-config.zip --scope config --map mapping.yaml --dry-run
nextxch-cli deploy --restore s3://dr-bucket/nextxch/ --map mapping.yaml --test-mail mailpit --dns-instructions --yes

# REST: POST /api/v1/deploy/restore (dryRun defaults to true)
# {"source":"s3://dr-bucket/nextxch/","scope":"all","mapping":"...","dryRun":false,"testMail":"mailpit","hashSample":20}
# Local package: POST /api/v1/deploy/restore/upload (application/zip) -> source "upload:<sha256>"
# Runs: GET /api/v1/deploy/restore/runs

8. قوالب CI: GitHub Actions وGitLab CI وAzure DevOps وAnsible

توجد القوالب في المستودع تحت deploy/ci: الاستعادة مع مرحلة تخطيط وموافقة على بيئة الإنتاج، إضافةً إلى اختبار تعافٍ من الكوارث (DR) ليلي يستعيد إلى بيئة مؤقتة ويكتب تقريرًا بالمدة (RTO) والحالة (RPO). مكان الأسرار هو متغيرات CI المقنّعة والمحمية؛ وتذهب رسائل الاختبار إلى حاوية Mailpit بجوار المهمة ولا تغادرها أبدًا.

المرجع / الإعداد
deploy/ci/github-actions/nextxch-restore.yml        plan on a throwaway instance, container with restore on first start, checks, DNS step
deploy/ci/github-actions/nextxch-dr-probe.yml       nightly DR probe with RTO/RPO report
deploy/ci/gitlab/.gitlab-ci.yml                     restore (RESTORE_SOURCE, RESTORE_SCOPE, PLAN_ONLY ...) + DR probe (NEXTXCH_PIPELINE=dr-probe)
deploy/ci/azure-devops/azure-pipelines.yml          restore with parameters, deployment job on environment production
deploy/ci/azure-devops/azure-pipelines-dr-probe.yml nightly DR probe, report in the run summary
deploy/ci/ansible/playbook-restore.yml              role nextxch_restore: container (Linux) or MSI (Windows)
deploy/ci/mapping.example.yaml, mapping.schema.json example and JSON Schema of the mapping file

9. المزامنة الحية عند تغيير المزوّد: تجميد قصير بدلًا من انقطاع طويل

بعد الاستعادة الكاملة يتبع الخادم الجديد الخادم القديم بتشغيلات فرق (Delta): يواصل الخادم القديم كتابة نسخته الاحتياطية للبيانات (مثلًا كل ساعة إلى S3)، ولا ينقل كل تشغيل إلا الكائنات الثنائية وصفوف الجداول وملفات الحالة التي تغيّرت منذ آخر إصدار تم نقله. التقدّم موجود في {DataDirectory}/pipeline-restore/live-sync.json؛ وتشغيل الأمر نفسه مرة أخرى لا يغيّر شيئًا أو يستأنف. للانتقال النهائي (Cutover) يُجمَّد الخادم القديم يدويًا (حظر منافذ البريد والعملاء في جداره الناري، مع إبقاء الخدمة قيد التشغيل، وآخر نسخة احتياطية باستخدام nextxch-cli backup run --full)، ثم يتولى --cutover --source-frozen تلك النسخة الاحتياطية مع مقارنة كاملة للصفوف. بعد ذلك أعيدوا تشغيل الخادم الجديد وغيّروا DNS. اعتبارًا من Business؛ REST: POST /api/v1/deploy/live-sync وPOST /api/v1/deploy/live-sync/cutover وGET /api/v1/deploy/live-sync.

المرجع / الإعداد
nextxch-cli deploy --restore s3://dr-bucket/nextxch/ --scope all --yes                          # 1. full restore (baseline)
nextxch-cli deploy --restore s3://dr-bucket/nextxch/ --live-sync --dry-run                      # remaining delta, changes nothing
nextxch-cli deploy --restore s3://dr-bucket/nextxch/ --live-sync --interval 5m --until-cutover  # 2. follow the old server
nextxch-cli deploy --restore s3://dr-bucket/nextxch/ --cutover                                  # 3. instructions for the freeze
# old server: block ports, then  nextxch-cli backup run --full
nextxch-cli deploy --restore s3://dr-bucket/nextxch/ --cutover --source-frozen                  # 4. last backup, last run

الإعدادات والقيم الافتراضية وأفضل الممارسات

الإعداد / الموقع الوصف القيمة الافتراضية أفضل ممارسة للإنتاج
Konfigurationssicherung: Versionen (#/protect/config) إصدارات تلقائية قبل كل تحديث (AutoBeforeUpdate) وبعد التغييرات (AutoAfterChanges، مجمّعة بعد DebounceMinutes)، إضافةً إلى الإصدارات اليدوية والاستيرادات ولقطة أمان قبل كل عملية استعادة. KeepLast 30 · KeepDailyDays 90 · Debounce 10 min قبل التغييرات الكبيرة أنشئوا إصدارًا يدويًا مُعنونًا واحفظوا ملف .zip خارج الخادم.
Sicherungsschlüssel (Passphrase / Wiederherstellungsschlüssel) ECDH P-256؛ ولا يوجد الجزء الخاص إلا مختومًا (PBKDF2-SHA256 مع 600,000 تكرار، AES-256-GCM) وينتقل داخل كل حزمة. بدون مفتاح وبدون عبارة مرور لا تحتوي النسخة الاحتياطية للإعدادات على أي أسرار. nicht eingerichtet · Passphrase ab 12 Zeichen اطبعوا مفتاح الاسترداد واحفظوه بعيدًا عن الخادم؛ فبدونه لا يمكن قراءة النسخ الاحتياطية للبيانات.
Datensicherung: Aufbewahrung je Ziel أحدث KeepLast إصدارات، إضافةً إلى أحدث إصدار لكل ساعة من آخر KeepHourly ساعات، ولكل يوم من آخر KeepDaily أيام، ولكل أسبوع ISO من آخر KeepWeekly أسابيع، ولكل شهر من آخر KeepMonthly أشهر (UTC). 3 / 24 / 7 / 4 / 12 احتفظوا بإصدارين على الأقل أثناء المزامنة الحية، وإلا فلا يمكن حساب الفرق (BASELINE_GONE).
S3 Object Lock (ObjectLockMode, ObjectLockDays) تُكتب الكائنات بالوضع Governance أو Compliance مع تاريخ retain-until؛ وتحصل الكائنات الثنائية المعاد استخدامها على تاريخ ممدّد (الآن مضافًا إليه 1.5 ضعف أيام القفل) حتى لا يشير أي إصدار إلى كائن يصبح قابلًا للحذف قبل الأوان. Normal · 30 Tage للحماية من برامج الفدية استخدموا الوضع Compliance على حاوية (Bucket) مخصصة مع تفعيل الإصدارات؛ ولا تُزال الكائنات المقفلة إلا بتشغيل لاحق بعد انقضاء تاريخها.
Zeitpläne (Frequency, Type, Scope) كل ساعة أو يوميًا أو أسبوعيًا، تزايدي أو كامل، لكل وجهة ونطاق (الخادم، النطاقات، صناديق البريد)؛ والوقت بالتوقيت المحلي للخادم، بدون تعبير cron. Täglich 02:30 inkr. · Sonntag 03:30 voll الجداول الزمنية المُعدّة مسبقًا ليس لها وجهة في البداية: عيّنوا وجهة وفعّلوها، وإلا فلن يُجرى أي نسخ احتياطي.
Automatische Prüfung (VerifyEveryHours, VerifySampleSize) يتحقق من التجزئات المخزّنة وترويسات المغلّف وملفات المفاتيح وتوقيع الفهرس وقابلية قراءة الفهرس وفهرس الكائنات الثنائية بدون المفتاح؛ ومع عبارة المرور تُفك أيضًا تشفير العيّنة وجميع ملفات الجداول. alle 24 h · 50 Objekte أبقوا AlertOnFailure مفعّلًا حتى تصل النسخ الاحتياطية وعمليات التحقق الفاشلة إلى وجهات التنبيه.
Parallele Uploads je Sicherung (UploadParallelism) عدد عمليات الرفع المتزامنة إلى وجهات S3 والأدلة. 4 (1 bis 32) لـ S3 عبر الاتصالات السريعة من 8 إلى 16؛ ولجهاز NAS عبر SMB بطيء يُفضّل من 2 إلى 4.
SQL Server: ALLOW_SNAPSHOT_ISOLATION يحاول nextxch تفعيل عزل اللقطات (snapshot isolation) عند بدء التشغيل. إذا كان مُعطّلًا، تُصدَّر الجداول واحدًا تلو الآخر باستخدام READ COMMITTED (consistency read-committed) ويُبلغ التشغيل عن تحذير. an, wenn erlaubt تعرض النظرة العامة عبارة SQL لنسخها؛ ومع عزل اللقطات (snapshot isolation) تكون لقطة قاعدة البيانات متسقة على مستوى المعاملات.
RecoverableItemsDays (restore-policy.json) المدة التي تحتفظ فيها المواعيد وجهات الاتصال والمهام والملاحظات المحذوفة بمحتواها؛ وبعد ذلك لا يبقى سوى شاهد فارغ (Tombstone) لأغراض المزامنة. يبقى البريد المحذوف مؤقتًا إلى أن يُمحى نهائيًا (Expunge). 14 Tage (nach Upgrade 30) دوّنوا ذلك في توثيق الإجراءات: بدون نسخة احتياطية للبيانات تفقد عناصر المجموعات المحذوفة محتواها بعد هذه المدة.
Selbstbedienung im Webmail (SelfServiceEnabled, SelfServiceDays) يستعيد المستخدمون رسائل البريد وعناصر المجموعات المحذوفة بأنفسهم تحت استعادة العناصر المحذوفة (حتى 500 في كل تشغيل). قابل للضبط على مستوى الخادم أو لكل نطاق؛ 0 أيام تعني عدم وجود نافذة خاصة. an · 0 Tage للنطاقات ذات القواعد الصارمة حدّدوا نافذة زمنية أو عطّلوا الخدمة الذاتية هناك.
Beweisexport: Rollen, Umfang, Download يحق التصدير لـ ComplianceAuditor وTenantAdmin (للمستأجر الخاص فقط) وServerAdmin؛ والنطاق search أو mailbox أو range أو legalHold، حتى 100,000 رسالة (بحد أقصى 250,000). رابط التنزيل صالح لمدة 24 ساعة. includeSoftDeleted true · 24 h حدّدوا دائمًا مرجعًا للقضية (caseReference): فهو مُدرج في البيان الموقّع وفي سجل التدقيق.
Setup:TrustLoopback يسمح بالطلبات الواردة من الخادم نفسه (loopback) إلى معالج الإعداد بدون رمز الإعداد. افتراضيًا يحتاج كل طلب إلى الرمز من first-run/setup-token.txt. false اضبطوه فقط على المضيفين الذين ليس لديهم مستخدمون محليون آخرون؛ وإلا فمرّروا الرمز عبر NEXTXCH_SETUP_TOKEN.
Audit-Log & GoBD كل خطوة مُسجَّلة في سجل التدقيق: config.backup* وdata.backup.* وCompliance.EvidenceExport* وProtect.Restore* وProtect.SelfRestore وProtect.RestorePolicy وsetup.* وconfig.restore؛ وتظهر تحت النسخ الاحتياطي والاستعادة > السجل. يبقى أرشيف GoBD دون تغيير في كل عملية استعادة. aktiv تحتوي النسخة الاحتياطية للبيانات على بيان الأرشيف مع الاحتفاظ والتجميد القانوني؛ وبعد الاستعادة يُتحقق من كل تجزئة مؤرشفة وتُعاد الأقفال.