seunggabi commented on PR #44499:
URL: https://github.com/apache/superset/pull/44499#issuecomment-5770264836

   @sadpandajoe sure, I'll write it up as a SIP. Short version of the 
motivation here so the discussion can start:
   
   **Why**
   
   The concrete driver is a compliance requirement we're under. Korea's PIPA 
safeguards standard (개인정보의 안전성 확보조치 기준, Art. 8) says that when the access log 
shows personal data was *downloaded*, the controller has to check and record 
the reason for that download. Superset's Action Log already answers "who 
exported which chart when", but not "why", so today that lives in a spreadsheet 
next to it and the security team pings people after the monthly log review: 
"you exported 30k rows of the customer table on the 12th, what was that for?".
   
   A couple of examples of what the log line looks like with this on:
   
   - analyst exports a customer-segment chart to CSV, reason `FIN-1123 churn 
deck for finance` → the log entry is self-explanatory, and grep-able by ticket
   - someone bulk-downloads a SQL Lab result, reason `checking a suspected dup 
in orders, will delete after` → the reviewer can close it in seconds instead of 
scheduling a chat
   - a scheduled report pulls xlsx, reason `Scheduled report: Weekly KPI 
(id=42)` → report-driven downloads are separable from human ones in the same log
   
   Similar "purpose of processing" questions come up in GDPR / HIPAA-style 
audits, so I don't think this is Korea-specific. Side effect: the prompt itself 
makes people think twice before "download everything", which our data team 
liked.
   
   **Why a feature flag and not a config key**
   
   Mostly plumbing. The frontend has to know whether to show the prompt, and 
feature flags already reach the browser through the bootstrap payload with a 
typed `FeatureFlag` enum on the JS side. A plain config key would need to be 
added to the common bootstrap data plus a frontend type for the same boolean. 
There's also precedent for gating export behaviour this way 
(`GRANULAR_EXPORT_CONTROLS`). That said, if the preference is a config key I'm 
fine switching, it's a small change.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to