GitHub user user1500177 deleted a comment on the discussion: How to Mask 
Passwords in Superset Action Log (DatabaseRestApi.import_)

@dosu 

NO it seems to be working fine with this code and such masking is also 
appeining inside the json field as show nin the screenshot

CODE

     class MaskPasswordsEventLogger(DBEventLogger):
      def _mask_sensitive(self, data):
          try:
              if isinstance(data, dict):
                  return {
                      k: (
                          "***MASKED***" if k.lower() in {"password", 
"passwords", "db_password", "access_token", "secret"}
                          else self._mask_sensitive(v)
                      )
                      for k, v in data.items()
                  }
              elif isinstance(data, list):
                  return [self._mask_sensitive(item) for item in data]
              else:
                  return data
          except Exception as e:
              import logging
              logging.warning(f"Error masking sensitive data: {e}")
              return data

      def log(self, user_id, action, *args, **kwargs):
          try:
              # Mask sensitive fields in kwargs before passing to DBEventLogger
              masked_kwargs = self._mask_sensitive(kwargs)
              super().log(user_id, action, *args, **masked_kwargs)
          except Exception as e:
              import logging
              logging.warning(f"Error in custom event logger: {e}")

     EVENT_LOGGER = MaskPasswordsEventLogger()
     
     
<img width="1376" height="157" alt="image" 
src="https://github.com/user-attachments/assets/de38887a-7dbc-4752-8350-988d7e4c7e9f";
 />



GitHub link: 
https://github.com/apache/superset/discussions/35415#discussioncomment-14580760

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to