GitHub user dosubot[bot] added a comment to the discussion: How to Mask Passwords in Superset Action Log (DatabaseRestApi.import_)
<!-- Answer --> Your code will capture all records generated by a single event, including bulk scenarios where `records` is a list of payloads—Superset's logger iterates over this list and logs each entry individually. Masking `kwargs` at the top level (with your `_mask_sensitive` function) is sufficient, as it will recursively mask all sensitive fields in every record without altering the structure, so no logs will be skipped unless an exception is raised and not handled (which your code already logs) [reference](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/utils/log.py). Just make sure your masking function always returns the same type for `records` (a list of dicts), which your implementation does. The only caveat: secrets inside stringified JSON fields (e.g., `"passwords": "{\"db\": \"secret\"}"`) won't be masked by this approach, but this doesn't cause skipped logs—just unmasked secrets [reference](https://github.com/apache/superset/issues/35355). So, your approach is safe and effective for Superset event logging. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/b320bbb8-e8fb-4938-8603-ea81b05e613b?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)& nbsp;[](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35415) GitHub link: https://github.com/apache/superset/discussions/35415#discussioncomment-14580638 ---- 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]
