0

.env-vergelijkingshulp

Vergelijk twee .env-bestanden (staging vs. productie, voor vs. na een deploy) en zie precies welke sleutels zijn toegevoegd, verwijderd of gewijzigd, waarbij verdacht uitziende geheime waarden automatisch worden gemaskeerd.

🔒 Wordt volledig in uw browser verwerkt. Niets wat u hier invoert, wordt ooit geüpload.

Verwerken... 0%
Beide bestanden verwerken
Verschil berekenen
Geheimen maskeren
Klaar

Resultaat

Een staging-.env-bestand met de productie vergelijken, of de deploy-configuratie van vandaag met die van vorige week, met het blote oog is hoe echte storingen beginnen: een ontbrekende DATABASE_URL, een PORT die stilletjes veranderde, een API-sleutel die in de ene omgeving is geroteerd maar niet in de andere. Beide bestanden in een generieke tekst-diff plakken helpt ook niet veel — het toont je welke regels verschillen, niet welke omgevingsvariabelen daadwerkelijk zijn veranderd, en het drukt vrolijk elke geheime waarde in platte tekst af zodra je de uitvoer deelt met een teamgenoot.

Deze tool verwerkt beide bestanden op de manier waarop dotenv ze daadwerkelijk leest — één KEY=value-paar per regel, # commentaar en lege regels worden genegeerd, waarden tussen enkele of dubbele aanhalingstekens worden uitgepakt (met \n die alleen binnen dubbele aanhalingstekens wordt unescaped, precies zoals de dotenv-conventie voorschrijft), en een optioneel export KEY=value-voorvoegsel wordt getolereerd zoals in door de shell gebronde env-bestanden. Elk bestand wordt een schone sleutel-naar-waarde-afbeelding, en de twee afbeeldingen worden vervolgens per sleutel vergeleken: alleen aanwezig in Bestand A is 'verwijderd', alleen aanwezig in Bestand B is 'toegevoegd', aanwezig in beide met een andere waarde is 'gewijzigd', en identieke waarden zijn 'ongewijzigd' en standaard verborgen zodat de tabel gefocust blijft op wat daadwerkelijk verschilt.

De functie die het veilig maakt om dit daadwerkelijk met echte geheimen te gebruiken, is automatisch maskeren. Elke waarde die in de diff-tabel wordt getoond, wordt gecontroleerd aan de hand van twee onafhankelijke signalen: ziet de sleutelnaam eruit als een geheim (een hoofdletterongevoelige overeenkomst met KEY, SECRET, TOKEN, PASSWORD, PRIVATE of CREDENTIAL), of heeft de waarde zelf een hoge Shannon-entropie — dezelfde informatietheoretische maat (-Σ p(c)·log2(p(c)) over de tekens van de waarde) die API-sleutels, tokens en willekeurige wachtwoorden markeert als statistisch verschillend van gewone woorden, zelfs wanneer de sleutelnaam geen hint geeft. Elk signaal is voldoende om een waarde te maskeren tot de eerste en laatste twee tekens, onafhankelijk berekend voor de oude en nieuwe zijde van elke gewijzigde rij.

Alles — verwerken, vergelijken, entropie scoren en maskeren — draait volledig in je browser; geen van beide bestanden, noch enige waarde die eruit is gehaald, wordt ooit ergens naartoe gestuurd. Dat is de juiste garantie voor een tool die als enige taak heeft om twee bestanden te bekijken die waarschijnlijk echte database-inloggegevens, API-sleutels en wachtwoorden naast elkaar bevatten.