{{ __('Legal · GDPR Article 28') }}

{{ __('Data processing agreement') }}

{{ __('This page documents every external service :app auto-reply translation routes customer message data through, what it receives, and how to restrict cross-border transfer.', ['app' => \App\Models\SystemSetting::get('app_name', config('app.name', 'WaDesk'))]) }}

{{ __('What data leaves your server') }}

{{ __('When an inbound WhatsApp message triggers a multilingual auto-reply, :app may send the', ['app' => \App\Models\SystemSetting::get('app_name', config('app.name', 'WaDesk'))]) }} {{ __('message body') }} and the {{ __('reply text') }} to one or more of the following translation providers — depending on which drivers your administrator has activated at /admin/translation-providers.

{{ __('Provider') }} {{ __('Region') }} {{ __('Data sent') }} {{ __('Provider DPA') }}
{{ __('MyMemory') }} {{ __('EU (Italy)') }} {{ __('Message text + reply text') }} {{ __('translatedlabs.com/legal') }}
{{ __('Google (free / unofficial)') }} {{ __('Global') }} {{ __('Message text + reply text') }} {{ __('No official DPA — unofficial endpoint') }}
{{ __('DeepL') }} {{ __('EU (Germany)') }} {{ __('Message text + reply text') }} {{ __('deepl.com/pro-data-security') }}
{{ __('Google Cloud Translation') }} {{ __('Global') }} {{ __('Message text + reply text') }} {{ __('cloud.google.com/terms/dpa') }}
{{ __('LibreTranslate') }} {{ __('Your server') }} {{ __('Stays on-premise') }} {{ __('Self-hosted — no third party') }}

{{ __('Restrict cross-border data transfer') }}

{{ __('Set a stricter routing mode for this workspace. Auto-reply translation will only route through providers compatible with the selected mode — the rest are silently skipped at runtime.') }}

@php $ws = auth()->user()?->currentWorkspace; $current = $ws?->data_residency ?: 'any'; $isOwner = $ws && (int) $ws->owner_user_id === (int) auth()->id(); @endphp @if (!$isOwner)

{{ __('Only the workspace owner can change this setting.') }}

@else
@csrf
@endif

{{ __('Retention & cache') }}

{{ __('Translated phrases are cached for') }} 24 hours on this {{ \App\Models\SystemSetting::get('app_name', config('app.name', 'WaDesk')) }} install. After that the cache entry expires and the next request re-routes through the active provider. Translation API providers themselves may retain logs per their own DPAs — see the linked policies above.

{{ __('Right to erasure') }}

{{ __(':app stores translated reply variants alongside each auto-reply rule in your database (column', ['app' => \App\Models\SystemSetting::get('app_name', config('app.name', 'WaDesk'))]) }} keyword_replies.keyword_translations). Deleting a contact or workspace via the standard delete flows removes their conversation history; cached translations are not personally identifiable as they are keyed by phrase, not by contact.