Codeunit 1565 "Privacy Notice Impl."
System Application · System.Privacy
Across versions
- BC23-25present
- BC265 procedures added
- BC27-28unchanged
- BC291 procedures changed
- BC30unchanged
Neighbourhood 3 connected objects and pages
System Application · System.Privacy · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata Company = r, tabledata “Privacy Notice” = rim, tabledata “Privacy Notice Approval” = r |
Event subscriptions
- ConfirmSystemPrivacyNoticeApproval subscribes to Codeunit “System Action Triggers” ConfirmPrivacyNoticeApproval
- GetPrivacyNoticeApprovalState subscribes to Codeunit “System Action Triggers” GetPrivacyNoticeApprovalState
Procedures
CreatePrivacyNotice(Id: Code[50]; IntegrationName: Text[250]; Link: Text[2048]): BooleanCreatePrivacyNotice(Id: Code[50]; IntegrationName: Text[250]): BooleanGetDefaultPrivacyAgreementTxt(): TextConfirmPrivacyNoticeApproval(PrivacyNoticeId: Code[50]): BooleanConfirmPrivacyNoticeApproval(PrivacyNoticeId: Code[50]; SkipCheckInEval: Boolean): BooleanCheckPrivacyNoticeApprovalState(PrivacyNoticeId: Code[50]): Enum "Privacy Notice Approval State"CheckPrivacyNoticeApprovalState(PrivacyNoticeId: Code[50]; SkipCheckInEval: Boolean): Enum "Privacy Notice Approval State"CanCurrentUserApproveForOrganization(): BooleanSetApprovalState(PrivacyNoticeId: Code[50]; PrivacyNoticeApprovalState: Enum "Privacy Notice Approval State")ShowOneTimePrivacyNotice(IntegrationName: Text[250]): Enum "Privacy Notice Approval State"ShowOneTimePrivacyNotice(IntegrationName: Text[250]; Link: Text[2048]): Enum "Privacy Notice Approval State"CreateDefaultPrivacyNoticesInSeparateThread()CreateDefaultPrivacyNotices()ShowPrivacyNotice(PrivacyNotice: Record "Privacy Notice"): BooleanΔ BC29 (internal)IsApprovalStateDisagreed(Id: Code[50]): Boolean+ BC26 + BC26: Determines whether the admin or user has disagreed with the Privacy Notice.IsApprovalStateDisagreed(State: Enum "Privacy Notice Approval State"): Boolean+ BC26 + BC26: Determines whether the admin or user has disagreed with the Privacy Notice.
Plus 5 local procedures.
Triggers
OnRun
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 1566 “System Privacy Notice Reg.” (4 calls:
ShouldApproveByDefault → GetMicrosoftCopilotID,ShouldApproveByDefault → GetMicrosoftLearnID,ShouldApproveByDefault → TryGetMicrosoftCopilotDefaultApproval, …) - Codeunit 1563 “Privacy Notice” (2 calls:
ShowPrivacyNotice → OnBeforeShowPrivacyNotice,TryGetAllPrivacyNotices → OnRegisterPrivacyNotices) - Codeunit 1564 “Privacy Notice Approval” (2 calls:
SetApprovalState → SetApprovalState,TryCreateDefaultApproval → SetApprovalState)
Called by
- Codeunit 1563 “Privacy Notice” (9 calls:
CanCurrentUserApproveForOrganization → CanCurrentUserApproveForOrganization,ConfirmPrivacyNoticeApproval → ConfirmPrivacyNoticeApproval,CreateDefaultPrivacyNotices → CreateDefaultPrivacyNotices, …)
Recent changes
- 2026-07-30 #9838 Grant indirect read on Privacy Notice tables in Privacy Notice Impl. (main, BC30, fix)
- 2026-07-23 #9206 Added new privacy policy for BizChat depending on Microsoft Copilot 365 with EEA environments behavior changes (main, BC30, feature)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Privacy Notice Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.