375 lines
12 KiB
YAML
375 lines
12 KiB
YAML
# This is a Code Annotations automatically-generated Django model safelist file.
|
|
# These models must be annotated as follows in order to be counted in the coverage report.
|
|
# See https://code-annotations.readthedocs.io/en/latest/safelist.html for more information.
|
|
#
|
|
# fake_app_1.FakeModelName:
|
|
# ".. no_pii::": "This model has no PII"
|
|
# fake_app_2.FakeModel2:
|
|
# ".. choice_annotation::": foo, bar, baz
|
|
|
|
# Via Django
|
|
auth.Group:
|
|
".. no_pii:": "No PII"
|
|
auth.Permission:
|
|
".. no_pii:": "No PII"
|
|
auth.User:
|
|
".. pii:": "Contains username, password, and email address, retired in AccountRetirementView"
|
|
".. pii_types:": username, email_address, password
|
|
".. pii_retirement:": local_api
|
|
contenttypes.ContentType:
|
|
".. no_pii:": "No PII"
|
|
admin.LogEntry:
|
|
".. no_pii:": "No PII"
|
|
redirects.Redirect:
|
|
".. no_pii:": "No PII"
|
|
sessions.Session:
|
|
".. no_pii:": "No PII"
|
|
sites.Site:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Automatically generated edx-platform models that can't be annotated
|
|
calendar_sync.HistoricalUserCalendarSyncConfig:
|
|
".. no_pii:": "No PII"
|
|
certificates.HistoricalCertificateAllowlist:
|
|
".. no_pii:": "No PII"
|
|
certificates.HistoricalCertificateDateOverride:
|
|
".. no_pii:": "No PII"
|
|
certificates.HistoricalCertificateInvalidation:
|
|
".. no_pii:": "No PII"
|
|
certificates.HistoricalGeneratedCertificate:
|
|
".. pii:": "PII can exist in the generated certificate linked to in this model. Certificate data is currently retained."
|
|
".. pii_types:": "name, username"
|
|
".. pii_retirement:": "retained"
|
|
course_apps.HistoricalCourseAppStatus:
|
|
".. no_pii:": "No PII"
|
|
course_goals.HistoricalCourseGoal:
|
|
".. no_pii:": "No PII"
|
|
course_live.HistoricalCourseLiveConfiguration:
|
|
".. no_pii:": "No PII"
|
|
course_modes.HistoricalCourseMode:
|
|
".. no_pii:": "No PII"
|
|
course_overviews.HistoricalCourseOverview:
|
|
".. no_pii:": "No PII"
|
|
discussions.HistoricalDiscussionsConfiguration:
|
|
".. no_pii:": "No PII"
|
|
entitlements.HistoricalCourseEntitlement:
|
|
".. no_pii:": "No PII"
|
|
entitlements.HistoricalCourseEntitlementSupportDetail:
|
|
".. no_pii:": "No PII"
|
|
experiments.HistoricalExperimentKeyValue:
|
|
".. no_pii:": "No PII"
|
|
external_user_ids.HistoricalExternalId:
|
|
".. no_pii:": "We store external_user_id here, but do not consider that PII under OEP-30."
|
|
external_user_ids.HistoricalExternalIdType:
|
|
".. no_pii:": "No PII"
|
|
grades.HistoricalPersistentSubsectionGradeOverride:
|
|
".. no_pii:": "No PII"
|
|
instructor_task.HistoricalInstructorTaskSchedule:
|
|
".. no_pii:": "No PII"
|
|
program_enrollments.HistoricalProgramCourseEnrollment:
|
|
".. no_pii:": "No PII"
|
|
program_enrollments.HistoricalProgramEnrollment:
|
|
".. pii:": "PII is found in the external key for a program enrollment"
|
|
".. pii_types:": "other"
|
|
".. pii_retirement:": "local_api"
|
|
programs.HistoricalProgramDiscussionsConfiguration:
|
|
".. no_pii:": "No PII"
|
|
programs.HistoricalProgramLiveConfiguration:
|
|
".. no_pii:": "No PII"
|
|
schedules.HistoricalSchedule:
|
|
".. no_pii:": "No PII"
|
|
split_modulestore_django.HistoricalSplitModulestoreCourseIndex:
|
|
".. no_pii:": "No PII"
|
|
student.HistoricalCourseEnrollment:
|
|
".. no_pii:": "No PII"
|
|
student.HistoricalManualEnrollmentAudit:
|
|
".. pii:": "Contains enrolled_email, retired in LMSAccountRetirementView"
|
|
".. pii_types:": "email_address"
|
|
".. pii_retirement:": "local_api"
|
|
|
|
# Automatically generated models in edx-enterprise that can't be annotated there
|
|
consent.HistoricalDataSharingConsent:
|
|
".. pii:": "The username field inherited from Consent contains PII."
|
|
".. pii_types:": username
|
|
".. pii_retirement:": consumer_api
|
|
degreed.HistoricalDegreedEnterpriseCustomerConfiguration:
|
|
".. no_pii:": "No PII"
|
|
enterprise.HistoricalEnrollmentNotificationEmailTemplate:
|
|
".. no_pii:": "No PII"
|
|
enterprise.HistoricalEnterpriseCourseEnrollment:
|
|
".. no_pii:": "No PII"
|
|
enterprise.HistoricalEnterpriseCustomer:
|
|
".. no_pii:": "No PII"
|
|
enterprise.HistoricalEnterpriseCustomerCatalog:
|
|
".. no_pii:": "No PII"
|
|
enterprise.HistoricalEnterpriseCustomerEntitlement:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via edx-ora2, these can be removed once the models are annotated for real
|
|
assessment.Assessment:
|
|
".. no_pii:": "No PII"
|
|
assessment.AssessmentFeedback:
|
|
".. no_pii:": "No PII"
|
|
assessment.AssessmentFeedbackOption:
|
|
".. no_pii:": "No PII"
|
|
assessment.AssessmentPart:
|
|
".. no_pii:": "No PII"
|
|
assessment.Criterion:
|
|
".. no_pii:": "No PII"
|
|
assessment.CriterionOption:
|
|
".. no_pii:": "No PII"
|
|
assessment.PeerWorkflow:
|
|
".. no_pii:": "No PII"
|
|
assessment.PeerWorkflowItem:
|
|
".. no_pii:": "No PII"
|
|
assessment.Rubric:
|
|
".. no_pii:": "No PII"
|
|
assessment.StaffWorkflow:
|
|
".. no_pii:": "No PII"
|
|
assessment.StudentTrainingWorkflow:
|
|
".. no_pii:": "No PII"
|
|
assessment.StudentTrainingWorkflowItem:
|
|
".. no_pii:": "No PII"
|
|
assessment.TrainingExample:
|
|
".. no_pii:": "No PII"
|
|
workflow.AssessmentWorkflow:
|
|
".. no_pii:": "No PII"
|
|
workflow.AssessmentWorkflowCancellation:
|
|
".. no_pii:": "No PII"
|
|
workflow.AssessmentWorkflowStep:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via edx-celeryutils
|
|
celery_utils.ChordData:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via completion XBlock
|
|
completion.BlockCompletion:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via django_notify (required / installed by wiki)
|
|
django_notify.Notification:
|
|
".. no_pii:": "No PII"
|
|
django_notify.NotificationType:
|
|
".. no_pii:": "No PII"
|
|
django_notify.Settings:
|
|
".. no_pii:": "No PII"
|
|
django_notify.Subscription:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via django-openid-auth https://github.com/edx/django-openid-auth
|
|
django_openid_auth.Association:
|
|
".. no_pii:": "No PII"
|
|
django_openid_auth.Nonce:
|
|
".. no_pii:": "No PII"
|
|
django_openid_auth.UserOpenID:
|
|
".. pii:": "User OpenID associations. Not used and empty on edx.org, therefore not retired."
|
|
".. pii_types:": external_service, password
|
|
".. pii_retirement:": retained
|
|
|
|
# Via django-celery
|
|
djcelery.CrontabSchedule:
|
|
".. no_pii:": "No PII"
|
|
djcelery.IntervalSchedule:
|
|
".. no_pii:": "No PII"
|
|
djcelery.PeriodicTask:
|
|
".. no_pii:": "No PII"
|
|
djcelery.PeriodicTasks:
|
|
".. no_pii:": "No PII"
|
|
djcelery.TaskMeta:
|
|
".. no_pii:": "No PII"
|
|
djcelery.TaskSetMeta:
|
|
".. no_pii:": "No PII"
|
|
djcelery.TaskState:
|
|
".. no_pii:": "No PII"
|
|
djcelery.WorkerState:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via django-celery-results
|
|
django_celery_results.ChordCounter:
|
|
".. no_pii:": "No PII"
|
|
django_celery_results.GroupResult:
|
|
".. no_pii:": "No PII"
|
|
django_celery_results.TaskResult:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via edx-oauth2-provider https://github.com/edx/edx-oauth2-provider
|
|
edx_oauth2_provider.TrustedClient:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via edx-name-affirmation, not part of the openedx org
|
|
edx_name_affirmation.HistoricalVerifiedName:
|
|
".. pii:": "Contains name fields."
|
|
".. pii_types:": "name"
|
|
".. pii_retirement:": "local_api"
|
|
|
|
# Via VAL
|
|
edxval.CourseVideo:
|
|
".. no_pii:": "No PII"
|
|
edxval.EncodedVideo:
|
|
".. no_pii:": "No PII"
|
|
edxval.Profile:
|
|
".. no_pii:": "No PII"
|
|
edxval.ThirdPartyTranscriptCredentialsState:
|
|
".. no_pii:": "No PII"
|
|
edxval.TranscriptPreference:
|
|
".. no_pii:": "No PII"
|
|
edxval.Video:
|
|
".. no_pii:": "No PII"
|
|
edxval.VideoImage:
|
|
".. no_pii:": "No PII"
|
|
edxval.VideoTranscript:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via PyLTI1p3
|
|
lti1p3_tool_config.LtiTool:
|
|
".. no_pii:": "No PII"
|
|
lti1p3_tool_config.LtiToolKey:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via Milestones
|
|
milestones.CourseContentMilestone:
|
|
".. no_pii:": "No PII"
|
|
milestones.CourseMilestone:
|
|
".. no_pii:": "No PII"
|
|
milestones.Milestone:
|
|
".. no_pii:": "No PII"
|
|
milestones.MilestoneRelationshipType:
|
|
".. no_pii:": "No PII"
|
|
milestones.UserMilestone:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via Django OAuth2 Provider https://github.com/edx/django-oauth2-provider
|
|
oauth2.Client:
|
|
".. no_pii:": "No PII"
|
|
oauth2.AccessToken:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
oauth2.Grant:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
oauth2.RefreshToken:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
|
|
# Via Django OAuth Toolkit https://github.com/evonove/django-oauth-toolkit
|
|
oauth2_provider.AccessToken:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
oauth2_provider.Application:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
oauth2_provider.Grant:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
oauth2_provider.IDToken:
|
|
".. pii:": "Contains 3rd party authentication secrets, currently this is retained until the token times out, but should be retired explicitly with the other models from this package."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": retained
|
|
oauth2_provider.RefreshToken:
|
|
".. pii:": "Contains 3rd party authentication secrets. Retired in DeactivateLogoutView."
|
|
".. pii_types:": password, other
|
|
".. pii_retirement:": local_api
|
|
|
|
# Via Django OAuth Plus https://bitbucket.org/david/django-oauth-plus
|
|
oauth_provider.Consumer:
|
|
".. no_pii:": "No PII, unused and empty in edx.org"
|
|
oauth_provider.Nonce:
|
|
".. no_pii:": "No PII, unused and empty in edx.org"
|
|
oauth_provider.Scope:
|
|
".. no_pii:": "No PII, unused and empty in edx.org"
|
|
oauth_provider.Token:
|
|
".. pii:": "User OAuth associations. Not used and empty on edx.org, therefore not retired."
|
|
".. pii_types:": external_service, password
|
|
".. pii_retirement:": retained
|
|
|
|
# Via edx-organizations
|
|
organizations.Organization:
|
|
".. no_pii:": "No PII"
|
|
organizations.OrganizationCourse:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via Problem Builder XBlock
|
|
problem_builder.Answer:
|
|
".. no_pii:": "No PII"
|
|
problem_builder.Share:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via Social Django https://github.com/python-social-auth/social-app-django
|
|
social_django.Association:
|
|
".. no_pii:": "No PII"
|
|
social_django.Code:
|
|
".. pii:": "Transient - email address stored with email authentication code, removed automatically so not retired"
|
|
".. pii_types:": email_address
|
|
".. pii_retirement:": local_api
|
|
social_django.Nonce:
|
|
".. no_pii:": "No PII"
|
|
social_django.Partial:
|
|
".. no_pii:": "No PII"
|
|
social_django.UserSocialAuth:
|
|
".. pii:": "3rd party authentication data, retired in DeactivateLogoutView"
|
|
".. pii_types:": external_service
|
|
".. pii_retirement:": local_api
|
|
|
|
# Via Splash https://github.com/openedx/django-splash
|
|
splash.SplashConfig:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via edx-submissions
|
|
submissions.Score:
|
|
".. no_pii:": "No PII"
|
|
submissions.ScoreAnnotation:
|
|
".. no_pii:": "No PII"
|
|
submissions.ScoreSummary:
|
|
".. no_pii:": "No PII"
|
|
submissions.StudentItem:
|
|
".. no_pii:": "No PII"
|
|
submissions.Submission:
|
|
".. no_pii:": "No PII"
|
|
submissions.TeamSubmission:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via sorl-thumbnail https://github.com/jazzband/sorl-thumbnail
|
|
thumbnail.KVStore:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via django-user-tasks
|
|
user_tasks.UserTaskArtifact:
|
|
".. no_pii:": "No PII"
|
|
user_tasks.UserTaskStatus:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via waffle
|
|
waffle.Flag:
|
|
".. no_pii:": "No PII"
|
|
waffle.Sample:
|
|
".. no_pii:": "No PII"
|
|
waffle.Switch:
|
|
".. no_pii:": "No PII"
|
|
|
|
# Via django-wiki https://github.com/openedx/django-wiki
|
|
wiki.Article:
|
|
".. no_pii:": "No PII"
|
|
wiki.ArticleForObject:
|
|
".. no_pii:": "No PII"
|
|
wiki.ArticlePlugin:
|
|
".. no_pii:": "No PII"
|
|
wiki.ArticleRevision:
|
|
".. no_pii:": "No PII"
|
|
wiki.ReusablePlugin:
|
|
".. no_pii:": "No PII"
|
|
wiki.RevisionPlugin:
|
|
".. no_pii:": "No PII"
|
|
wiki.RevisionPluginRevision:
|
|
".. no_pii:": "No PII"
|
|
wiki.SimplePlugin:
|
|
".. no_pii:": "No PII"
|
|
wiki.URLPath:
|
|
".. no_pii:": "No PII"
|