Governance data model
This is the minimum metadata model. Names are logical contracts; the implementing model may adapt naming to existing TypeORM conventions.data_authorizations
One row per user-approved high-impact action.
idworkspace_idactor_idaction:enrich | export | send | google_accesspurposerecord_idsor a bounded audience referenceprovider_idnullablepolicy_versionauthorized_atexpires_atnullablerevoked_atnullablemetadatawith non-sensitive action context
contact_endpoint_provenance
One row per endpoint or a versioned embedded object where the existing record
shape requires it.
record_idendpoint_hashor stable endpoint referenceprovidersource_urlsor source identifierssource_type:public | licensed_provider | user_supplied | google | inferredobserved_atverificationconfidenceattributionrights_status:approved | restricted | unknown | blockedmay_displaymay_exportmay_contactretention_untildeletion_handlepolicy_version
suppression_entries
workspace_idnullable for global suppressionmatch_type:email | domain | person | account | campaignmatch_value_hashreason:manual | unsubscribe | bounce | arco | complaint | policysourcecreated_atexpires_atnullableactive
provider_policies
providerstatus:evaluating | pilot | approved | suspended | rejecteddata_classesallowed_purposesmay_displaymay_exportmay_contactretention_daysdeletion_supporteddpa_referencesubprocessor_reviewed_atpolicy_versionreviewed_at
