# Top level is a dict, keys are filenames relative to the search path
{
'/openedx/core/djangoapps/pii_enforcer/pii_searcher.py':
# Underneath the keys are a list of annotations
[
# Stand-alone annotations are formatted as follows:
{
'annotation_data': 'No PII is stored here',
'annotation_token': '.. no_pii::',
'line_number': 2,
'pluginfound_namesby': ['python'] # These are the names of the extensions or scripts that found this annotation
},
{
'annotation_data': 'We do not store PII in this model',
'annotation_token': '.. no_pii::',
'line_number': 17,
'pluginfound_nameby': ['python']
}
],
'/openedx/core/djangoapps/user_api/legacy_urls.py':
[
# Annotation groups are represented differently
{
'annotation_group': 'pii', # This is the name given to the group in configuration
'annotations':
[
{
'annotation_data': 'This model stores user addresses and phone numbers',
'annotation_token': '.. pii::',
'line_number': 16,
'pluginfound_nameby': ['python']
},
{
# In cases where the annotation type is an enum, "annotation_data" becomes a list
'annotation_data': ['address', 'phone_number'],
'annotation_token': '.. pii_types::',
'line_number': 17,
'pluginfound_nameby': ['python']
},
{
'annotation_data': ['local_api', 'consumer_api'],
'annotation_token': '.. pii_retirement::',
'line_number': 18,
'pluginfound_nameby': ['python']
}
]
}
]
} |