0

ENV Diff Checker

Usporedite dvije .env datoteke (staging naspram produkcije, prije i poslije deploya) i vidite točno koji su ključevi dodani, uklonjeni ili promijenjeni, uz automatsko maskiranje vrijednosti koje izgledaju kao tajne.

🔒 U potpunosti se obrađuje u vašem pregledniku — ništa što ovdje unesete nikada se ne učitava.

Obrada... 0%
Parsiranje obiju datoteka
Računanje diffa
Maskiranje tajnih podataka
Gotovo

Rezultat

Uspoređivanje staging .env datoteke s produkcijskom, ili današnje deploy konfiguracije s prošlotjednom, naoko je način na koji počinju stvarni prekidi rada: nedostajući DATABASE_URL, PORT koji je tiho promijenjen, API ključ koji je rotiran u jednom okruženju, ali ne i u drugom. Lijepljenje obiju datoteka u generički tekstualni diff također ne pomaže puno — pokazuje vam koji se redovi razlikuju, a ne koje su se varijable okruženja zapravo promijenile, i rado ispisuje svaku tajnu vrijednost otvoreno čim rezultat podijelite s kolegom.

Ovaj alat parsira obje datoteke onako kako ih dotenv doista čita — jedan par KEY=vrijednost po retku, # komentari i prazni redovi se ignoriraju, vrijednosti pod jednostrukim ili dvostrukim navodnicima se uklanjaju navodnici (s uklanjanjem escape znaka \n samo unutar dvostrukih navodnika, točno kako dotenv konvencija nalaže), a opcionalni prefiks export KEY=vrijednost tolerira se onako kako ga koriste shell-sourced env datoteke. Svaka datoteka postaje čista mapa ključ-vrijednost, a dvije mape se zatim uspoređuju po ključu: prisutan samo u Datoteci A znači 'uklonjen', prisutan samo u Datoteci B znači 'dodan', prisutan u obje s različitom vrijednošću znači 'promijenjen', a identične vrijednosti su 'nepromijenjene' i standardno skrivene kako bi tablica ostala fokusirana na ono što se doista razlikuje.

Značajka koja ovo čini sigurnim za stvarno korištenje s pravim tajnama jest automatsko maskiranje. Svaka vrijednost prikazana u diff tablici provjerava se prema dva neovisna signala: izgleda li naziv njezinog ključa kao tajna (case-insensitive podudaranje s KEY, SECRET, TOKEN, PASSWORD, PRIVATE ili CREDENTIAL) ili sama vrijednost ima visoku Shannonovu entropiju — istu informacijsko-teorijsku mjeru (-Σ p(c)·log2(p(c)) nad znakovima vrijednosti) koja označava API ključeve, tokene i nasumične lozinke kao statistički različite od običnih riječi čak i kad naziv ključa ne daje nikakav nagovještaj. Bilo koji signal dovoljan je da se vrijednost maskira na prva i zadnja dva znaka, neovisno izračunato za staru i novu stranu svakog promijenjenog retka.

Sve — parsiranje, uspoređivanje, računanje entropije i maskiranje — izvodi se u potpunosti u vašem pregledniku; niti datoteka, niti bilo koja vrijednost izvučena iz njih, nikada se nigdje ne šalje. To je ispravno jamstvo za alat čiji je cijeli posao gledati dvije datoteke koje vjerojatno sadrže stvarne vjerodajnice baze podataka, API ključeve i lozinke jednu uz drugu.