bcquality/microsoft/knowledge/privacy/privacy-notice-consent-for-external-data-transfer.md
Jesper Schulz-Wedde ec8f891954 Correct security and privacy guidance
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9c2eebc4-dcd5-4b85-8113-90772d818900
2026-07-14 10:45:42 +02:00

1.4 KiB

bc-version domain keywords technologies countries application-area
all
privacy
privacy-notice
consent
http-client
outgoing-request
external-service
confirmprivacynoticeapproval
al
w1
all

Check the custom Privacy Notice before external data transfer

Description

Business Central's Codeunit "Privacy Notice" creates notices and records per-integration approval. A custom integration needs its own stable notice ID; it must not borrow the Exchange or another built-in service's consent. ConfirmPrivacyNoticeApproval shows the notice when needed and returns whether the request is approved. GetPrivacyNoticeApprovalState checks an existing notice without showing UI.

Best Practice

Register the custom notice with CreatePrivacyNotice during setup or through OnRegisterPrivacyNotices. Before sending data, call ConfirmPrivacyNoticeApproval(<custom id>) outside a write transaction, or check GetPrivacyNoticeApprovalState(<custom id>) when the flow must not show UI. No path should issue the request without approval.

See sample: privacy-notice-consent-for-external-data-transfer.good.al.

Anti Pattern

A custom integration that posts data without checking its own notice, or that gates the call with a built-in ID such as the Exchange privacy notice ID. Consent for one service does not authorize another.

See sample: privacy-notice-consent-for-external-data-transfer.bad.al.