Consent Docs

Link to the hosted pages

Link to the privacy notice, rights request form and "Your consents" page your deployment serves, from your site and your emails.

How-to2 min readFor web, backend and mobile developers

Your deployment serves a privacy notice, a rights request form and a personal Your consents page, so you do not have to build them. They use your organisation's name, contact details and accent colour from the console's settings.

The pages#

All addresses start with https://console.dpconsent.com/consent.

Page Address Where the link comes from
Privacy notice /sdk/v1/pages/<publishable key>/privacy You build it from your publishable key
Rights request form /sdk/v1/pages/<publishable key>/request You build it from your publishable key
Request confirmation /sdk/v1/pages/verify-request?token=… The subject_request.received webhook
Request status and reply /sdk/v1/pages/request-status?token=… statusUrl in subject_request.received and subject_request.completed
Your consents /sdk/v1/pages/my-consents?token=… consentPortalLink
Unsubscribe /sdk/v1/pages/unsubscribe?token=… unsubscribeLink
Email confirmation /sdk/v1/email-consent/verify?token=… startEmailConsent

The first two carry your publishable key, which is public. Any enabled key of the project works, test or live. The others open with a signed token and need no key.

  1. On your server, build the two addresses from your publishable key.

    Node.jsJavaScript
    const key = encodeURIComponent(process.env.PIEDAP_PUBLISHABLE_KEY);
    const base = `${process.env.PIEDAP_API_URL}/sdk/v1/pages/${key}`;
    
    export const privacyNoticeUrl = `${base}/privacy`;
    export const rightsRequestUrl = `${base}/request`;
    Python
    import os
    from urllib.parse import quote
    
    key = quote(os.environ["PIEDAP_PUBLISHABLE_KEY"], safe="")
    base = f"{os.environ['PIEDAP_API_URL']}/sdk/v1/pages/{key}"
    
    privacy_notice_url = f"{base}/privacy"
    rights_request_url = f"{base}/request"
  2. In your page footer, add both links next to the link that reopens the banner.

    HTML
    <a href="#" data-piedap-open>Cookie settings</a>
    <a href="https://console.dpconsent.com/consent/sdk/v1/pages/pk_…/privacy">
      Privacy notice
    </a>
    <a href="https://console.dpconsent.com/consent/sdk/v1/pages/pk_…/request">
      Make a rights request
    </a>
  3. To open a page in a known language, add lang to the link, such as ?lang=ta.

  4. Open both links and check your organisation's name and contact details.

The privacy notice is drawn from your purposes, partners and cookie list on each request, so it stays in step with the console. The request form files a request in the console and sends a subject_request.received webhook. You email its verificationUrl to the person.

On this page a person sees every consent held for them, withdraws any of them and downloads their records. Ask for a link from your server.

Node.jsJavaScript
const { url, expiresOn } = await client.consentPortalLink(
  'usr_8f2K1xQz',
  'USER_ID',
);
Python
link = client.consent_portal_link("usr_8f2K1xQz", "USER_ID")
url, expires_on = link["url"], link["expiresOn"]
cURLShell
curl -X POST https://console.dpconsent.com/consent/sdk/v1/pages/consent-portal-links \
  -H "Authorization: Bearer $PIEDAP_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "subjectId": "usr_8f2K1xQz", "subjectType": "USER_ID" }'
  • The link works for seven days. Make a new one each time you send it.
  • The page shows live records only. A link for an identifier with only test records shows an empty list.

Give the link only to the person it is about

Anyone who holds the link can withdraw that person's consents. Send it to an address you have verified, or show it only to a signed-in user.

Language and framing#

How the language is chosen

The pages speak 46 languages, among them English and the 22 languages of the Eighth Schedule to the Constitution of India. The order is ?lang= in the address, then the browser's Accept-Language header, then English. lang works on every page except the email confirmation page, which is in English only.

Show a page in a frame

The pages may be framed on any site. They load no scripts, images or fonts, and their forms post only to your deployment. If your site sends a Content Security Policy, allow the frame with frame-src https://console.dpconsent.com/consent. A frame suits the privacy notice and the request form. Use plain links for the token pages.

HTML
<iframe
  src="https://console.dpconsent.com/consent/sdk/v1/pages/pk_…/privacy?lang=en"
  title="Privacy notice"
  width="100%"
  height="900"
  loading="lazy"></iframe>

↑↓ to move, Enter to open