Hoppa till innehåll

Hemligheter & Miljövariabler

Hantera API-nycklar och server-side-hemligheter för anpassad backend- och realtidskod.

De flesta Proyecta-appar behöver inga hemligheter alls. Betalningar, e-post, autentisering och innehåll är plattformsfunktioner — Proyecta kopplar upp dem och hanterar autentiseringsuppgifterna åt dig (se Connectors). De flesta appar behöver aldrig lägga till en hemlighet här. Du skulle bara behöva en för en tjänst som ingen funktion eller connector täcker — vanligtvis i en app med anpassad realtids-/backendkod (en realtidsbackend kommer snart).

Klicka på knappen Settings i builder-verktygsfältet för att öppna inställningspanelen. Den har tre sektioner:

Sektion Vad den används till
General Projektnamn och kunskapsbas
SEO & sharing Ange webbplatsens titel, beskrivning och favikon
Secrets Server-side-hemligheter för anpassad backend-/realtidskod
  1. Klicka på knappen Settings i builder-verktygsfältet
  2. Öppna fliken Secrets
  3. Ange ett namn (till exempel STRIPE_SECRET_KEY) och ett värde
  4. Klicka på Add

För en app med en realtidsbackend synkroniseras hemligheterna till den deploymentens och refereras i dess serverkod med process.env.SECRET_NAME. De är INTE tillgängliga i din frontendkod eller som miljövariabler på pod-nivå — detta förhindrar att hemligheter läcker ut i browser-bundeln.

För vanliga integrationer behöver du vanligtvis inte lägga till en hemlighet — Proyecta hanterar autentiseringsuppgifterna som en del av funktionen eller connectorn:

  • "Accept payments" → funktionen Commerce kopplar upp Stripe Connect (checkout, ordrar, utbetalningar)
  • "Send emails" → funktionen email / en hanterad connector hanterar leverantörens nyckel
  • "Add sign-in" → funktionen auth konfigurerar en OIDC-klient och injicerar OAuth-konfigurationen

Lägg till en hemlighet här endast för en tjänst som inte täcks av en funktion eller connector, i en app med anpassad realtids-/backendkod (en realtidsbackend kommer snart). Den koden läser hemligheten via process.env.

Kan jag visa/redigera en hemlighet efter att den skapats?

Section titled “Kan jag visa/redigera en hemlighet efter att den skapats?”

Hemligheternas värden är maskerade som standard. Du kan växla synlighet för att visa värden, uppdatera dem eller ta bort och återskapa dem.

AI:n kan se dina hemligheternas namn men inte deras värden. Det gör att den kan referera till rätt miljövariabel när den bygger funktioner utan att känsliga uppgifter exponeras.

Proyecta identifierar automatiskt vanliga mönster för känsliga nycklar (API-nycklar, tokens, lösenord) och maskerar deras värden i gränssnittet.

Sektionen SEO & sharing låter dig ange:

  • Site title — visas i webbläsarfliken och i sökresultat
  • Site description — används för SEO-metabeskrivningar
  • Favicon — ikonen som visas i webbläsarflikar

Dessa inställningar sparas i ditt projekt och tillämpas när du publicerar.

Sektionen Knowledge Base låter dig lägga till referensmaterial och kontext som AI:n använder när den bygger din app. Lägg till varumärkesriktlinjer, tekniska specifikationer eller annan dokumentation som hjälper AI:n att fatta bättre beslut.

Är hemligheter krypterade?

Hemligheter lagras i ditt projekt, och för appar med en realtidsbackend synkroniseras de till den deploymentens. De dyker aldrig upp i din committade kod.

Kan jag ha olika hemligheter för dev och produktion?

I dag gäller hemligheter både din utvecklingsmiljö och din publicerade app. Hantering av hemligheter per miljö är planerad för en framtida version.

Vad gör jag om jag råkar exponera en hemlighet?

Ta omedelbart bort den gamla hemligheten, återkalla nyckeln hos tredjepartsleverantören och skapa en ny.

Vad är skillnaden mellan hemligheter och connectors?

Hemligheter är råa miljövariabler som du hanterar själv. Connectors är hanterade integrationer där Proyecta sköter lagring av autentiseringsuppgifter, autentisering, tokenförnyelse och granskningsloggning åt dig. Använd connectors när de finns tillgängliga (Stripe, Slack, Resend, ElevenLabs); använd hemligheter för tjänster som ännu inte har en connector.