Remix.run Logo
b0gb 4 days ago

eazy

secrets.forEach(secret => logMessage = logMessage.replaceAll(secret, '**'))

mberning 4 days ago | parent | next [-]

That presumes you know all secrets ahead of time. A risk in and of itself. But from a practical point of view you will never know all secrets, because they are generated constantly in real time.

pluto_modadic 4 days ago | parent | prev [-]

I've known users to type passwords in the username field. you implicitly do NOT know all secrets (e.g., a password is hashed).

secrets can also churn, so even if you did your example would require something besides an in-memory array.

and, the final point: what if your secret masking code fails on an exception, too ;)