Przejdź do głównej zawartości

Sekrety i zmienne środowiskowe

Zarządzaj kluczami API i sekretami po stronie serwera dla niestandardowego backendu i kodu realtime.

Większość aplikacji Proyecta w ogóle nie potrzebuje sekretów. Płatności, e-mail, uwierzytelnianie i treści to możliwości platformy — Proyecta podłącza je i zarządza poświadczeniami za Ciebie (zob. Connectors). Większość aplikacji nigdy nie dodaje tu żadnego sekretu. Potrzebowałbyś go tylko dla usługi, której nie obejmuje żadna możliwość ani connector — zazwyczaj w aplikacji z niestandardowym kodem realtime/backend (backend realtime pojawi się wkrótce).

Kliknij przycisk Settings na pasku narzędzi buildera, aby otworzyć panel Settings. Składa się on z trzech sekcji:

Sekcja Przeznaczenie
General Nazwa projektu i baza wiedzy
SEO & sharing Ustawianie tytułu strony, opisu i favicon
Secrets Sekrety po stronie serwera dla niestandardowego backendu/realtime
  1. Kliknij przycisk Settings na pasku narzędzi buildera
  2. Otwórz zakładkę Secrets
  3. Wpisz nazwę (np. STRIPE_SECRET_KEY) i wartość
  4. Kliknij Add

W przypadku aplikacji z backendem realtime sekrety są synchronizowane z tym deploymentem i odczytywane w kodzie serwera za pomocą process.env.SECRET_NAME. NIE są dostępne w kodzie frontend ani jako zmienne środowiskowe na poziomie poda — zapobiega to wyciekowi sekretów do bundle’a przeglądarki.

W przypadku popularnych integracji zazwyczaj nie musisz dodawać sekretu — Proyecta zarządza poświadczeniami w ramach danej możliwości lub connectora:

  • "Accept payments" → możliwość Commerce podłącza Stripe Connect (checkout, zamówienia, wypłaty)
  • "Send emails" → możliwość email / zarządzany connector obsługuje klucz dostawcy
  • "Add sign-in" → możliwość auth przydziela klienta OIDC i wstrzykuje konfigurację OAuth

Dodaj sekret tylko dla usługi, której nie obejmuje żadna możliwość ani connector, w aplikacji z niestandardowym kodem realtime/backend (backend realtime pojawi się wkrótce). Ten kod odczytuje sekret przez process.env.

Czy mogę wyświetlić/edytować sekret po jego utworzeniu?

Dział zatytułowany „Czy mogę wyświetlić/edytować sekret po jego utworzeniu?”

Wartości sekretów są domyślnie maskowane. Możesz przełączyć widoczność, aby je ujawnić, zaktualizować lub usunąć i utworzyć ponownie.

AI widzi nazwy Twoich sekretów, ale nie ich wartości. Dzięki temu może odwoływać się do właściwej zmiennej środowiskowej podczas budowania funkcji, nie ujawniając wrażliwych danych.

Proyecta automatycznie wykrywa popularne wzorce wrażliwych kluczy (klucze API, tokeny, hasła) i maskuje ich wartości w interfejsie.

Sekcja SEO & sharing pozwala ustawić:

  • Site title — wyświetlany w karcie przeglądarki i wynikach wyszukiwania
  • Site description — używany jako meta opis SEO
  • Favicon — ikona wyświetlana w kartach przeglądarki

Te ustawienia są zapisywane w projekcie i stosowane podczas publikowania.

Sekcja Knowledge Base pozwala dodawać materiały referencyjne i kontekst, z których AI korzysta podczas budowania aplikacji. Dodaj wytyczne dotyczące marki, specyfikacje techniczne lub inną dokumentację, która pomoże AI podejmować lepsze decyzje.

Czy sekrety są szyfrowane?

Sekrety są przechowywane w Twoim projekcie, a w przypadku aplikacji z backendem realtime są synchronizowane z tym deploymentem. Nigdy nie pojawiają się w zacommitowanym kodzie.

Czy mogę mieć różne sekrety dla środowiska deweloperskiego i produkcyjnego?

Obecnie sekrety obowiązują zarówno w środowisku deweloperskim, jak i w opublikowanej aplikacji. Zarządzanie sekretami per środowisko jest planowane w przyszłej wersji.

Co zrobić, jeśli przypadkowo ujawnię sekret?

Natychmiast usuń stary sekret, unieważnij klucz u zewnętrznego dostawcy i utwórz nowy.

Czym różnią się sekrety od connectorów?

Sekrety to surowe zmienne środowiskowe, którymi zarządzasz samodzielnie. Connectory to zarządzane integracje, w których Proyecta odpowiada za przechowywanie poświadczeń, uwierzytelnianie, odświeżanie tokenów i rejestrowanie zdarzeń. Używaj connectorów, gdy są dostępne (Stripe, Slack, Resend, ElevenLabs); używaj sekretów dla usług, które jeszcze nie mają connectora.