---
title: "Send en konfigurationsfil sikkert til en udvikler"
url: https://uselinkpilot.com/da/blog/how-to-securely-deliver-a-config-file-to-a-developer
description: "Adskil indstillinger fra hemmeligheder, send de hemmelige værdier via et engangslink eller en fil, der slettes efter én download, og hold .env ude af git."
lang: da
---

Sikkerhed (https://uselinkpilot.com/da/blog/category/security)

# Sådan leverer du en konfigurationsfil sikkert til en udvikler

Adskil indstillinger fra hemmeligheder, send de hemmelige værdier via et engangslink eller en fil, der slettes efter én download, og hold .env ude af git.

LinkPilot Team (https://uselinkpilot.com/da/author/linkpilot-team) · Holdet, der udvikler og driver LinkPilot hos TetraCore, LLC 26. oktober 2026 · Om LinkPilot (https://uselinkpilot.com/da/about)

En ny udvikler bliver ansat, eller en konsulent starter, og det første, udvikleren skal bruge, er den `.env`-fil, der får projektet til at køre. Filen er som regel en blanding af harmløse indstillinger og de mest følsomme værdier, teamet har, og derfor ender den så tit i en direkte besked eller som vedhæftet fil i en e-mail med emnet ”config”.

For at levere en konfigurationsfil sikkert til en udvikler skal du se den som to ting: indstillinger, der kan sendes hvordan som helst, og hemmeligheder, der sendes én gang gennem en kanal, som ikke gemmer kopier. Denne guide viser, hvordan du deler filen i to, hvordan du sender den hemmelige halvdel, og hvad du skal sige til udvikleren, så filen forbliver sikker, når den er nået frem.

## Læs filen, som om hver linje var offentlig

Åbn filen, og sorter hver linje i en af to grupper.

- **Indstillinger**: logniveauer, porte, feature flags, endpoints uden for produktion, offentlige klient-id'er. De hører hjemme i repositoriet som en eksempelfil og kan sendes, som du vil.
- **Hemmeligheder**: databaseadgangskoder, API-nøgler, signeringsnøgler, private nøgler, OAuth client secrets og alt andet, der giver adgang. Søg efter `PASSWORD`, `SECRET`, `TOKEN`, `KEY` og `PRIVATE`, og læs derefter resten, for en forbindelsesstreng med adgangskoden indbygget afslører sig ikke selv.

Spørg derefter, hvad udvikleren skal lave. Lokal udvikling mod staging kræver staging-værdierne. Det kræver ikke produktionsnøgler, og det kræver ikke betalingsudbyderens live-nøgle, bare fordi filen tilfældigvis indeholder en.

## Hold hemmeligheder ude af den committede fil

Den committede `.env.example` dokumenterer hver variabel med en pladsholder. De rigtige værdier indsættes ved kørsel fra miljøet, en secrets manager eller platformens eget lager til hemmeligheder. Med det mønster er det kun de hemmelige værdier, du skal levere, og udviklerens lokale kopi er det eneste sted, hvor de findes samlet.

```bash
# .env.example (committed)
DATABASE_URL=postgres://app:CHANGE_ME@staging-db.internal:5432/app
STRIPE_SECRET_KEY=sk_test_CHANGE_ME
SESSION_SECRET=CHANGE_ME
LOG_LEVEL=debug
```

Tilføj `.env` til `.gitignore`, før nogen har en rigtig, og overvej en pre-commit hook som gitleaks, så et utilsigtet commit fejler med det samme.

## Giv udvikleren egne loginoplysninger, hvor du kan

En overdragelse er også en anledning til at holde op med at dele. Hvis databasen understøtter individuelle brugere, så opret en til udvikleren med de tilladelser, arbejdet kræver, og en udløbsdato. Hvis API'et tilbyder begrænsede nøgler, så udsted en i udviklerens navn. Guiden om databaselogin til konsulenter (https://uselinkpilot.com/da/blog/how-to-send-a-temporary-database-login-to-a-contractor-securely) gennemgår det mønster. Loginoplysninger, der er lavet til én person, kan fjernes for én person.

## Sådan leverer du de hemmelige værdier

To metoder virker, og ingen af dem efterlader filen i en besked.

**Indsæt de hemmelige linjer i et engangslink.** Åbn værktøjet til hemmelige links (https://uselinkpilot.com/da/tools/free-secret-link-generator), indsæt kun de linjer, der indeholder hemmeligheder, og opret linket. Teksten krypteres i din browser, før den gemmes, den gemte kopi destrueres, første gang linket åbnes, og linket udløber efter en time, 24 timer eller syv dage, hvis ingen åbner det. Uden konto er der plads til 10.000 tegn, hvilket rækker til de fleste `.env`-filer flere gange.

**Vedhæft hele filen til et hemmeligt link.** Fra en LinkPilot-konto, hvor du er logget ind, kan du vedhæfte op til tre filer på hver 9 MB til en hemmelighed. Hver fil krypteres i din browser med en nøgle, der er afledt af hemmelighedens egen nøgle, så serveren aldrig har den ukrypterede fil, og den vedhæftede fil slettes efter den ene download. Det er den bedste metode, når filen skal komme frem byte for byte, for eksempel en JSON-fil til en servicekonto eller et keystore.

Uanset metode:

1. **Bekræft udviklerens identitet** gennem kanalen fra ansættelsen eller kontrakten, ikke via den adresse, der bad om filen.
2. **Sæt udløbet** til det tidsrum, udvikleren faktisk vil bruge. En time, hvis udvikleren sidder og venter, en dag, hvis udvikleren er i en anden tidszone.
3. **Sæt grænsen for visninger til én.**
4. **Tilføj en adgangssætning med en Pro-konto** til produktionsværdier, og send den via en anden kanal.
5. **Send linket med en kort note** om, hvad det er, og hvor filen hører hjemme. Send de ikke-hemmelige indstillinger for sig, eller henvis til eksempelfilen i repositoriet.

En invitation til en boks er den bedste vej, når udvikleren er fastansat, og teamet allerede bruger en secrets manager med adgang pr. udvikler. Brug engangslinket i tiden, før det er sat op, og til dem, der aldrig kommer ind i boksen.

## Fortæl udvikleren, hvor filen hører hjemme

En ren levering kan stadig ende galt, hvis filen havner i en delt mappe. Send disse punkter sammen med forbindelsesoplysningerne:

- **Gem den som `.env` i projektets rodmappe** og ingen andre steder. Tjek, at `.gitignore` dækker den, før det første commit.
- **Indsæt ikke værdier i tickets eller chat** for at spørge, om de er rigtige. Meld en manglende eller ugyldig variabel med navnet alene, så udsteder afsenderen en ny værdi.
- **Værdierne skiftes ved afgang.** Når samarbejdet slutter, bliver værdierne i filen skiftet. Sig det fra starten, så ingen bliver overrasket.

## Bekræft, og ryd derefter op

Bed udvikleren bekræfte filnavnet, miljøet og en ikke-hemmelig markør, for eksempel en versionskommentar i første linje. Hvis et engangslink viser, at det blev åbnet, før udvikleren nåede det, så betragt alle værdier i det som afsløret, og skift dem.

Når overdragelsen er færdig, så tilbagekald alle links, der aldrig blev åbnet, fjern alle midlertidige kopier, du har lavet, og noter, hvem der fik hvilket miljøs værdier og hvornår. Den note er revisionssporet. Selve filen bør kun findes på den maskine, der har brug for den.

## Læs også

- Sådan deler du API-nøgler sikkert: https://uselinkpilot.com/da/blog/how-to-share-api-keys-securely
- Sikker linkdeling for udviklere: https://uselinkpilot.com/da/blog/secure-link-sharing-for-developers
- Sådan opretter du et midlertidigt sikkert link til deling af filer: https://uselinkpilot.com/da/blog/how-to-create-a-temporary-secure-link-for-sharing-files
- Sådan virker hemmelige engangslinks: https://uselinkpilot.com/da/blog/how-one-time-secret-links-work

## Værktøjer til denne artikel

Generator til hemmelige engangslinks

Del en adgangskode eller en note via et link, der kun kan åbnes én gang.
https://uselinkpilot.com/da/tools/free-secret-link-generator

Selvdestruerende besked

Send en note, der forsvinder efter én læsning.
https://uselinkpilot.com/da/tools/burn-after-read-secret

Generator til links med udløb

Opret links, der holder op med at virke på et bestemt tidspunkt.
https://uselinkpilot.com/da/tools/temporary-link

## Ofte stillede spørgsmål

### Er det sikkert at sende en konfigurationsfil via e-mail?

### Bør hemmeligheder overhovedet ligge i konfigurationsfilen?

### Hvad er den sikreste måde at dele en .env med en konsulent?

### Skal jeg kryptere en konfigurationsfil, før jeg deler den?

### Hvordan bekræfter jeg, at udvikleren har fået den rigtige fil?

### Hvad hvis jeg har sendt filen til den forkerte person?

## LinkPilot sender et hemmeligt link, der er væk, når det er åbnet.

Krypteres i din browser, vises én gang og destrueres derefter. Kræver ingen konto.

Opret et hemmeligt link (https://uselinkpilot.com/da/tools/free-secret-link-generator)

## Læs videre

Sikkerhed

### Sådan indfører fjernteams sikker deling af hemmeligheder

Sikker deling af hemmeligheder i fjernteams i fem trin: oversigt, boks eller engangslink efter levetid, tre regler, værktøjet i Slack og en plan for lækager.
https://uselinkpilot.com/da/blog/how-to-implement-secure-secret-sharing-for-remote-teams

Sikkerhed

### Sådan overdrager du loginoplysninger sikkert mellem teams

Sikker overdragelse af loginoplysninger mellem teams: vælg boks eller engangslink efter brug, begræns rettigheder, udpeg en ejer, og tilbagekald til tiden.
https://uselinkpilot.com/da/blog/how-to-create-a-secure-way-to-hand-off-credentials-between-teams

Linksporing

### Sådan styrer du kortlinks med eget domæne for flere kunder

Opsætning til bureauer: ét arbejdsområde og ét domæne pr. kunde, roller, der holder bureau og kunde adskilt, og en tjekliste, når en kunde stopper.
https://uselinkpilot.com/da/blog/how-to-manage-branded-urls-across-multiple-client-accounts

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Forside",
        "item": "https://uselinkpilot.com/da"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Blog",
        "item": "https://uselinkpilot.com/da/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Sådan sender du en konfigurationsfil sikkert til en udvikler",
        "item": "https://uselinkpilot.com/da/blog/how-to-securely-deliver-a-config-file-to-a-developer"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/da/blog/how-to-securely-deliver-a-config-file-to-a-developer#article",
    "headline": "Sådan sender du en konfigurationsfil sikkert til en udvikler",
    "description": "Adskil indstillinger fra hemmeligheder, send de hemmelige værdier via et engangslink eller en fil, der slettes efter én download, og hold .env ude af git.",
    "inLanguage": "da",
    "datePublished": "2026-10-26",
    "dateModified": "2026-10-26",
    "image": "https://uselinkpilot.com/logo-512.png",
    "author": {
      "@type": "Organization",
      "@id": "https://uselinkpilot.com/author/linkpilot-team#organization",
      "name": "LinkPilot Team",
      "url": "https://uselinkpilot.com/da/author/linkpilot-team"
    },
    "publisher": {
      "@type": "Organization",
      "name": "LinkPilot",
      "url": "https://uselinkpilot.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://uselinkpilot.com/logo-512.png",
        "width": 512,
        "height": 512
      }
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://uselinkpilot.com/da/blog/how-to-securely-deliver-a-config-file-to-a-developer"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Er det sikkert at sende en konfigurationsfil via e-mail?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ikke, hvis den indeholder aktive hemmeligheder. E-mail gemmer kopier i begge postkasser, på alle synkroniserede enheder og i sikkerhedskopierne bag dem. Send de hemmelige værdier via et engangslink, og brug e-mail til de ikke-hemmelige indstillinger."
        }
      },
      {
        "@type": "Question",
        "name": "Bør hemmeligheder overhovedet ligge i konfigurationsfilen?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Kun når programmet kræver det. Brug hellere pladsholdere i den committede fil, og indsæt de rigtige værdier fra miljøet eller en secrets manager ved kørsel. Den committede eksempelfil dokumenterer formen, og de hemmelige værdier sendes for sig."
        }
      },
      {
        "@type": "Question",
        "name": "Hvad er den sikreste måde at dele en .env med en konsulent?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Bekræft konsulentens identitet, giv vedkommende egne loginoplysninger, der er begrænset til det miljø, der skal bruges, send værdierne via et engangslink, og fortæl, hvor filen hører hjemme, og at den aldrig må committes."
        }
      },
      {
        "@type": "Question",
        "name": "Skal jeg kryptere en konfigurationsfil, før jeg deler den?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Hvis du vedhæfter den til et hemmeligt link i LinkPilot, krypteres den i din browser før upload og destrueres efter én download, så der er ikke brug for et ekstra trin. Bruger du en anden kanal, så krypter den med et værktøj som age eller et adgangskodebeskyttet arkiv, og send adgangssætningen ad en anden vej."
        }
      },
      {
        "@type": "Question",
        "name": "Hvordan bekræfter jeg, at udvikleren har fået den rigtige fil?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Bed udvikleren bekræfte filnavnet, miljøet og en ikke-hemmelig markør, for eksempel en versionskommentar øverst i filen. Bed aldrig om at få indholdet sendt tilbage."
        }
      },
      {
        "@type": "Question",
        "name": "Hvad hvis jeg har sendt filen til den forkerte person?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Skift alle hemmeligheder i den i de systemer, der accepterer dem, og opdater derefter de installationer, der brugte de gamle værdier. Selve filen kan ikke kaldes tilbage."
        }
      }
    ],
    "inLanguage": "da"
  },
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "@id": "https://uselinkpilot.com/#software",
    "name": "LinkPilot",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "url": "https://uselinkpilot.com",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro",
        "price": "29",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "29",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency",
        "price": "299",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "299",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus",
        "price": "799",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "799",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro (yearly)",
        "price": "288",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "288",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency (yearly)",
        "price": "2988",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "2988",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus (yearly)",
        "price": "7980",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "7980",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "priceCurrency": "USD"
        },
        "url": "https://uselinkpilot.com/pricing"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "https://uselinkpilot.com/#organization",
    "name": "LinkPilot",
    "alternateName": "LinkPilot by TetraCore",
    "url": "https://uselinkpilot.com",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "support@uselinkpilot.com",
      "url": "https://uselinkpilot.com/support"
    },
    "parentOrganization": {
      "@type": "Organization",
      "@id": "https://tetracorehq.com/#organization",
      "name": "TetraCore",
      "url": "https://tetracorehq.com/"
    },
    "logo": {
      "@type": "ImageObject",
      "url": "https://uselinkpilot.com/logo-512.png",
      "width": 512,
      "height": 512
    },
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "sameAs": [
      "https://x.com/uselinkpilot",
      "https://www.linkedin.com/company/uselinkpilot",
      "https://facebook.com/uselinkpilot",
      "https://github.com/TetraCoreHQ/linkpilot-cli",
      "https://github.com/TetraCoreHQ/linkpilot-mcp",
      "https://www.npmjs.com/package/linkpilot",
      "https://www.npmjs.com/package/@uselinkpilot/sdk",
      "https://www.npmjs.com/package/@uselinkpilot/mcp",
      "https://chromewebstore.google.com/detail/linkpilot-short-links-and/mnmppadihpcncicldpkmgknhnjkondad",
      "https://addons.mozilla.org/en-US/firefox/addon/uselinkpilot/"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://uselinkpilot.com/blog?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
]
```