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>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](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]

Reply via email to