Porovnání ENV souborů
Porovnejte dva .env soubory (staging vs. produkce, před nasazením vs. po nasazení) a přesně zjistěte, které klíče byly přidány, odebrány nebo změněny, s automatickým maskováním tajných hodnot.
🔒 Zpracováno výhradně ve vašem prohlížeči – nic, co zde zadáte, se nikdy nenahraje.
Výsledek
Porovnávat stagingový .env soubor s produkčním, nebo dnešní konfiguraci nasazení s tou minulotýdenní, pouhým okem je přesně to, jak začínají skutečné výpadky: chybějící DATABASE_URL, PORT, který se potichu změnil, API klíč, který byl rotován v jednom prostředí, ale v druhém ne. Vložení obou souborů do obecného textového diffu také příliš nepomůže – ukáže vám, které řádky se liší, nikoli které proměnné prostředí se skutečně změnily, a při sdílení výstupu s kolegou bezostyšně zobrazí všechny tajné hodnoty v čitelné podobě.
Tento nástroj parsuje oba soubory přesně tak, jak je čte dotenv – jeden pár KLÍČ=hodnota na řádek, ignorované komentáře # a prázdné řádky, hodnoty v jednoduchých nebo dvojitých uvozovkách jsou zbaveny uvozovek (s escapováním \n pouze uvnitř dvojitých uvozovek, přesně jak specifikuje konvence dotenv), a volitelná předpona export KLÍČ=hodnota je tolerována způsobem, jakým ji používají env soubory spouštěné shellem. Z každého souboru vznikne čistá mapa klíč-hodnota a tyto dvě mapy jsou poté porovnány podle klíče: přítomen pouze v Souboru A znamená 'odebrán', přítomen pouze v Souboru B znamená 'přidán', přítomen v obou s odlišnou hodnotou znamená 'změněn' a identické hodnoty jsou 'nezměněny' a ve výchozím nastavení skryté, aby tabulka zůstala zaměřená na to, co se skutečně liší.
Funkcí, díky níž je nástroj bezpečný pro skutečné použití s reálnými tajnými údaji, je automatické maskování. Každá hodnota zobrazená v tabulce diffu je kontrolována podle dvou nezávislých signálů: vypadá-li název jejího klíče jako tajný (nerozlišující malá/velká písmena shoda s KEY, SECRET, TOKEN, PASSWORD, PRIVATE nebo CREDENTIAL), nebo má-li samotná hodnota vysokou Shannonovu entropii – stejnou informačně-teoretickou míru (-Σ p(c)·log₂(p(c)) napříč znaky hodnoty), která označuje API klíče, tokeny a náhodná hesla jako statisticky odlišná od běžných slov, i když název klíče nic nenapovídá. Kterýkoli signál stačí k maskování hodnoty na její první a poslední dva znaky, přičemž výpočet probíhá nezávisle pro starou a novou stranu každého změněného řádku.
Vše – parsování, porovnávání, výpočet entropie a maskování – běží výhradně ve vašem prohlížeči; ani soubor, ani žádná z něj extrahovaná hodnota není nikdy nikam odeslána. To je správná záruka pro nástroj, jehož celým úkolem je prohlížet dva soubory, které pravděpodobně obsahují skutečné přihlašovací údaje k databázi, API klíče a hesla vedle sebe.