---
url: 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/pierwsze-kroki/zapora-sieciowa'
title: 'Zapora sieciowa i przechowywanie danych | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T01:36:02+00:00'
updated: '2026-10-24T20:03:43+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'DXPR Builder przechowuje twoje strony we własnej bazie Drupala. Kontaktuje się z usługami DXPR w sprawie kontroli licencji, zasobów edytora i żądań AI. Ta strona wymienia każde połączenie, co każde niesie, gdzie działają modele DXAI Kavya, jak przechowywany jest klucz produktu i co działa przy ograniczonym dostępie wychodzącym.'
tags:
  - 'Meet compliance requirements'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T20:03:43+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'Zapora sieciowa i przechowywanie danych'
      description: 'DXPR Builder przechowuje twoje strony we własnej bazie Drupala. Kontaktuje się z usługami DXPR w sprawie kontroli licencji, zasobów edytora i żądań AI. Ta strona wymienia każde połączenie, co każde niesie, gdzie działają modele DXAI Kavya, jak przechowywany jest klucz produktu i co działa przy ograniczonym dostępie wychodzącym.'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T01:36:02+0000'
      dateModified: '2026-10-24T20:03:43+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/pierwsze-kroki/zapora-sieciowa'
      articleSection: 'Zgodność z przepisami'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/pierwsze-kroki/zapora-sieciowa'
      description: 'DXPR Builder przechowuje twoje strony we własnej bazie Drupala. Kontaktuje się z usługami DXPR w sprawie kontroli licencji, zasobów edytora i żądań AI. Ta strona wymienia każde połączenie, co każde niesie, gdzie działają modele DXAI Kavya, jak przechowywany jest klucz produktu i co działa przy ograniczonym dostępie wychodzącym.'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: 'Strona Główna'
            item: 'https://dxpr.com/pl'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: pl
---
[Centrum pomocy](/pl/hc)/[Dokumentacja](/pl/hc/dokumentacja) /[Poznaj DXPR Builder](/pl/hc/documentation/learn-dxpr-builder) /[Zarządzaj witryną](/pl/hc/documentation/learn-dxpr-builder/manage) /[Zgodność z przepisami](/pl/hc/documentation/learn-dxpr-builder/manage/compliance) # Zapora sieciowa i przechowywanie danych.

 Poznaj DXPR BuilderZarządzaj witrynąZgodność z przepisami

   ## W tym przewodniku

 Powiązane przewodniki

- [Zainstaluj DXPR Builder na swojej witrynie Drupal](/pl/hc/dokumentacja/nauka-dxpr-builder/pierwsze-kroki/instalacja)
- [Bezpieczeństwo](/pl/hc/dokumentacja/nauka-dxpr-builder/zaawansowane/bezpieczenstwo)
- [Błędy licencji i klucza produktu.](/pl/hc/dokumentacja/nauka-dxpr-builder/rozwiazywanie-problemow/licencja-i-klucz-produktu)

DXPR Builder przechowuje twoje strony we własnej bazie Drupala. Kontaktuje się z usługami DXPR w sprawie kontroli licencji, zasobów edytora i żądań AI. Ta strona wymienia każde połączenie, co każde niesie, gdzie działają modele DXAI Kavya, jak przechowywany jest klucz produktu i co działa przy ograniczonym dostępie wychodzącym.

## Połączenia w skrócie

| Host | Wykonuje | Cel | Potrzebny do |
|---|---|---|---|
| `dxpr.com` | Serwer Drupala | Status licencji, sprawdzenie domeny, synchronizacja licencjonowanych użytkowników | Edycja |
| `cdn2.dxpr.com` | Przeglądarka redaktora | JavaScript i CSS edytora (główny) | Edycja |
| `cdn.dxpr.com` | Przeglądarka redaktora | JavaScript i CSS edytora (zapasowy) | Edycja |
| `kavya.dxpr.com` | Serwer Drupala | Żądania AI i saldo kredytów AI | Funkcje AI |
| `html-extract.dxpr.com` | Przeglądarka redaktora | AI „klonowanie z URL” | Funkcje AI |
| `r.jina.ai` (strona trzecia) | Przeglądarka redaktora | Czyta strony, których URL-e pojawiają się w prompcie | Funkcje AI |
| `tuur.dxpr.com` | Przeglądarka redaktora | Analityka użycia edytora | Opcjonalnie |

Wszystkie połączenia używają HTTPS na porcie 443. Odwiedzający witrynę nigdy nic nie wczytują z serwerów DXPR: opublikowane strony renderują się z HTML zapisanego w bazie, a skrypt front-endowy (`dxpr_builder/dxpr_frontend.min.js`) jest dostarczany wewnątrz modułu. `app.dxpr.com` pojawia się tylko w linkach pokazywanych administratorom.

## Kontrole licencji (`dxpr.com`)

Serwer Drupala wywołuje cztery endpointy zdefiniowane w `src/Service/DxprBuilderLicenseServiceInterface.php`, każdy z kluczem produktu jako nagłówkiem `Authorization: Bearer`.

| Endpoint | Kiedy | Wysyłane dane |
|---|---|---|
| `GET /api/user-license` | Co 24 godziny, gdy autoryzowany, co 30 minut, gdy nie | `gba` i `users_tier` (liczba kont z uprawnieniem `edit with dxpr builder` i próg, do którego wpada), `values_count` (elementy treści używające pola kreatora), `site_base_url`, `site` (HMAC soli hash witryny; sól nie jest wysyłana osobno), `site_mail` (z `system.site`), `project`, `version` |
| `GET /api/domain-blacklist/{hostname}` | Co godzinę | Tylko nazwa hosta; bez nagłówka autoryzacji |
| `POST /api/central-user-storage/{add,remove,sync}` | Gdy zmieniają się konta, uprawnienia albo klucz produktu; kolejne są kolejkowane i wykonują się na cronie | Nazwa hosta plus, dla każdego konta z uprawnieniem edycji, jego adres e-mail i nazwy ról. Konta bez prawidłowego adresu e-mail są pomijane |
| `GET /api/user-license/users` | Gdy otwiera się stronę licencji użytkowników | Nic poza kluczem |

Treść strony nigdy nie jest częścią żądania licencji. Moduł drukuje też ukryty `<div>` na stronie głównej z ustalonym ciągiem znacznika, progiem licencji, liczbą redaktorów i liczbą zapisów (`dxpr_builder_page_bottom()` w `dxpr_builder.module`). Da się go odczytać w źródle strony.

## Zasoby edytora (`cdn2.dxpr.com`, `cdn.dxpr.com`)

Gdy **Editor Assets** jest **Cloud** (domyślnie), przeglądarka redaktora wczytuje JavaScript i CSS kreatora z `https://cdn2.dxpr.com/<version>/`, z powrotem do `https://cdn.dxpr.com/<version>/` po nieudanym teście `/health`. Klucz produktu jest dołączany do każdego URL-a zasobu jako parametr `jwt` (`dxpr_builder_library_info_build()`). CDN sprawdza ten klucz: odpowiedź 401 sprawia, że `js/editor_validation.js` pokazuje „Your product key is not valid”.

Opcje **Local (minified)** i **Local (unminified)** pojawiają się na formularzu ustawień tylko, gdy w katalogu `dxpr_builder/` modułu istnieje zbudowana kopia edytora, a taka kopia jest używana automatycznie, nawet gdy wybrano Cloud. Repozytorium git nie śledzi tych zbudowanych plików, więc wydanie pobrane z drupal.org wczytuje edytor z CDN.

## Żądania AI (`kavya.dxpr.com`)

Przeglądarka nigdy nie kontaktuje się z `kavya.dxpr.com`. Edytor wysyła do tras we własnej witrynie (`/dxpr_builder/ajax/ai/chat`, `/dxpr_builder/ajax/ai/image`, `/dxpr_builder/ajax/ai/image/edit`; wszystkie wymagają uprawnienia `edit with dxpr builder`, tokena CSRF i licencjonowanego konta). Witryna przekazuje każde żądanie przez provider DXPR modułu Drupal AI (`ai_provider_dxpr`) do `https://kavya.dxpr.com/v1/chat/completions`, `/v1/images/generations` albo `/v1/images/edits`, uwierzytelnione kluczem DXPR API przechowywanym w module Key. Ustawienie `host` providera (`ai_provider_dxpr.settings`) może skierować żądania na inny host. Osobno strona ustawień AI wywołuje `GET https://kavya.dxpr.com/v1/account/balance` z kluczem produktu, aby pokazać saldo kredytów.

### Co zawiera żądanie AI

Tylko funkcje AI wysyłają treść strony poza witrynę i tylko, gdy redaktor je uruchomi (`dxpr_builder/build/dxpr-global/ai-service.js`).

| Żądanie | Wysyłana treść |
|---|---|
| Generowanie tekstu i stron | Prompt systemowy, prompt redaktora, historia czatu |
| Z wybranym elementem | Zewnętrzny HTML elementu: cały, gdy 500 znaków albo mniej, w przeciwnym razie pierwsze i ostatnie 200 znaków |
| Operacje na poziomie strony | Istniejący HTML strony, do 50 000 znaków; cała strona, gdy zastępowana jest cała strona |
| Pola opcjonalne | Nazwa modelu, kolejność włączonych providerów, przewidywany wynik HTML, dozwolone znaczniki i klasy, flaga `web_search`, format odpowiedzi |
| Generowanie obrazu | Prompt, rozmiar, jakość, tło |
| Edycja obrazu | To samo plus obraz źródłowy, zakodowany base64 |

Dwie wygody pobierają strony z przeglądarki redaktora (`ai-service-url-fetch.js`): URL w prompcie jest żądany z dopisanym `.md`, a gdy to się nie uda, przez `https://r.jina.ai/<url>`, usługę czytającą strony, nieobsługiwaną przez DXPR; prompt proszący o sklonowanie strony wysyła URL do `https://html-extract.dxpr.com/?url=...`. W obu przypadkach wysyłany jest tylko URL.

Wyjście AI jest filtrowane w drodze powrotnej. Dozwolone domeny, zablokowane znaczniki i dozwolone znaczniki ustawia się na `/admin/dxpr_studio/dxpr_builder/ai_settings` w sekcji **AI Output Filtering**.

## Gdzie działają modele DXAI Kavya

DXPR Builder oferuje trzy modele (`src/Constants/AiModelConstants.php`):

| Model | Nazwa API | Opis pokazywany w formularzu ustawień |
|---|---|---|
| DXAI Kavya M1 | `kavya-m1` | Najlepsza wydajność (OpenAI, Google Gemini, Anthropic) |
| DXAI Kavya M1 EU | `kavya-m1-eu` | Prywatność przede wszystkim (MistralAI) |
| DXAI Kavya M1 Fast | `kavya-m1-fast` | Najszybsze odpowiedzi, niższa jakość |

Nie ma ustawienia regionu w żadnym z modułów. Rezydencja danych jest wybierana modelem i tym, których providerów nadrzędnych włączysz:

- `kavya-m1` przełącza między pięcioma providerami, wymienionymi z krajem w formularzu ustawień providera DXPR AI: Anthropic (Stany Zjednoczone), Google Gemini (Stany Zjednoczone), MistralAI (Francja), OpenAI (Stany Zjednoczone), XAI (Stany Zjednoczone). W trybie **Manual priority** przeciągasz providerów między **Enabled** a **Disabled** i ustawiasz ich kolejność.
- `kavya-m1-eu` używa tylko MistralAI. README providera DXPR AI stwierdza, że „keeps data within European boundaries (servers in Netherlands)”; jego dokumentacja stwierdza, że serwer Kavya działa w Holandii z kopią zapasową w Niemczech, że żądania przechodzą przez serwery MistralAI we Francji i że nigdy nie przełącza na providera spoza UE. Te lokalizacje dokumentuje DXPR; nic w kodzie Drupala ich nie wymusza.

Gdy zainstalowano `ai_provider_dxpr`, model wybiera się na `/admin/config/ai/providers/dxpr`, a jego ustawienie `allowed_models` kontroluje, które modele mogą wybierać redaktorzy. Bez niego model i kolejność providerów ustawia się na `/admin/dxpr_studio/dxpr_builder/ai_settings`.

## Jak przechowywany jest klucz produktu

Sekcja **License** na `/admin/dxpr_studio/dxpr_builder/settings` oferuje dwie opcje **Storage method** (`src/Form/DxprBuilderSettingsForm.php`, `src/Service/DxprBuilderKeyService.php`):

- **Key module**: klucz jest odczytywany z encji Key wybranej w sekcji **Key**. `dxpr_builder_update_9020()` przenosi klucz znaleziony w `dxpr_builder.settings` do encji Key `dxpr_builder_jwt`, której provider **Configuration** wciąż go eksportuje. Tylko provider **File** albo **Environment** trzyma klucz poza eksportami konfiguracji.
- **Configuration storage**: klucz jest zapisywany jawnym tekstem jako `dxpr_builder.settings.json_web_token` i jest dołączany do eksportów konfiguracji.

Klucz produktu to token JSON Web Token, który uwierzytelnia wywołania licencji, wywołanie salda kredytów i URL-e zasobów CDN; traktuj go jak poświadczenie.

## Konfiguracja zapory sieciowej

| Z | Zezwól na wychodzący HTTPS do | Uwagi |
|---|---|---|
| Serwer Drupala | `dxpr.com` | Licencja |
| Serwer Drupala | `kavya.dxpr.com` | Tylko AI |
| Stacje robocze redaktorów | `cdn2.dxpr.com`, `cdn.dxpr.com` | Zasoby edytora |
| Stacje robocze redaktorów | `html-extract.dxpr.com`, `r.jina.ai` | Tylko AI; zablokowanie wyłącza jedynie sprawdzanie adresów URL i klonowanie |
| Stacje robocze redaktorów | `tuur.dxpr.com` | Analityka; blokowanie nie wpływa na edycję |

Analityka (`dxpr_builder/build/dxpr-analytics/`, PostHog) rozpoznaje zdarzenia po adresie e-mail redaktora i nazwie hosta witryny. Wyłącz ją przez `drush config:set dxpr_builder.settings record_analytics 0`; klucz nie ma pola w formularzu. Dwa kolejne klucze bez pola w formularzu są odczytywane z `dxpr_builder.settings`: `cloud_url` zastępuje bazowy URL CDN (`VERSION` jest podmieniane na wersję modułu), a `license_endpoint` zastępuje endpoint centralnego przechowywania użytkowników. Ustaw je nadpisaniem konfiguracji w `settings.php`.

## Konfiguracja proxy

Wywołania licencji i AI używają klienta HTTP Drupala, więc proxy konfiguruje się w `settings.php`:

```php
$settings['http_client_config']['proxy'] = [
  'http' => 'http://proxy.example.com:8080',
  'https' => 'http://proxy.example.com:8080',
  'no' => ['localhost', '127.0.0.1'],
];

```

Przeglądarki redaktorów wczytują zasoby CDN i wywołują usługi analityki i czytania bezpośrednio, więc te żądania podlegają ustawieniom proxy stacji roboczych.

## Wdrożenia odizolowane (air-gapped) i lokalne (on-premise)

DXPR Builder działa na twoim własnym serwerze; żadna treść nie przechodzi przez hostowany komponent. Gdy ani serwer, ani redaktorzy nie mogą dotrzeć do DXPR:

| Możliwość | Bez żadnego dostępu do DXPR |
|---|---|
| Udostępnianie opublikowanych stron | Działa; nic nie jest wczytywane z DXPR |
| Przechowywanie treści | Działa; strony są polami w twojej bazie |
| Wczytywanie edytora | Nie działa, chyba że lokalna kompilacja edytora znajduje się w `dxpr_builder/` |
| Walidacja licencji | Nie działa. Moduł loguje błąd, pokazuje administratorom „We are having trouble connecting to the DXPR servers” i ponawia co 30 minut. Edycja nie jest blokowana, gdy skonfigurowano klucz produktu |
| Strona licencji użytkowników | Pusta; potrzebuje `dxpr.com` |
| Funkcje AI | Niedostępne; każde żądanie przechodzi przez `kavya.dxpr.com` |
| Analityka, badanie adresów URL, klonowanie z URL-a | Pomijane po cichu |

Bez żadnego klucza produktu moduł stosuje w kodzie limity darmowego progu: jeden redaktor i 100 elementów treści.

W pełni lokalne wdrożenie działa więc do udostępniania i przechowywania treści; edycja potrzebuje dostępu do CDN albo lokalnej kompilacji edytora, a walidacja licencji potrzebuje `dxpr.com`. Skontaktuj się z DXPR, jeśli potrzebujesz kompilacji edytora do hostowania wewnętrznego.

## Co dalej?

- [Instalacja](/pl/hc/dokumentacja/nauka-dxpr-builder/pierwsze-kroki/instalacja): skonfiguruj klucz produktu i metodę przechowywania
- [Funkcje AI](/hc/documentation/learn-dxpr-builder/ai): włącz AI i wybierz model
- [Bezpieczeństwo](/pl/hc/dokumentacja/nauka-dxpr-builder/zaawansowane/bezpieczenstwo): uprawnienia i filtrowanie wyjścia
- [Licencja i klucz produktu](/pl/hc/dokumentacja/nauka-dxpr-builder/rozwiazywanie-problemow/licencja-i-klucz-produktu): rozwiązywanie błędów licencji