# 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"