def sensitive_variables(*variables):
 def decorator(func):
  @functools.wraps(func)
  def sensitive_variables_wrapper(*func_args, **func_kwargs):
   if variables:
    sensitive_variables_wrapper.sensitive_variables = variables
   else:
    sensitive_variables_wrapper.sensitive_variables = '__ALL__'
   return func(*func_args, **func_kwargs)
  return sensitive_variables_wrapper
 return decorator

def sensitive_variables ( * variables ) : def decorator ( func ) : @ functools . wraps ( func ) def sensitive_variables_wrapper ( * func_args , ** func_kwargs ) : if variables : sensitive_variables_wrapper . sensitive_variables = variables else : sensitive_variables_wrapper . sensitive_variables = '__ALL__' return func ( * func_args , ** func_kwargs ) return sensitive_variables_wrapper return decorator
indicates which variables used in the decorated function are sensitive .