GDPR for Webbuilders: This article provides technical guidance for developers and webbuilders on how to make recruitment websites GDPR-compliant by implementing consent capture on application forms.
ℹ️ Who is this for? This article is for webbuilders, developers, and technical implementers building or customizing recruitment websites that integrate with Carerix. If you're a recruiter or end-user, see Working GDPR Compliant in Carerix.
Overview: What You Need to Build
To make an application form GDPR-compliant, you need to implement three core elements:
Privacy Statement display: Show a link or full text of your privacy policy above the Apply button
Consent checkbox: Require candidates to check "I agree to the privacy statement" before applying
Consent capture & transmission: Send the consent signal and timestamp to Carerix
When a candidate applies with consent checked: Carerix automatically records:
✅ Consent status = "Yes"
✅ Consent date = today
✅ Consent tag = recorded in Carerix
Building Blocks: Privacy Statement & Checkbox
Privacy Statement Display
Before the Apply button, include:
Example HTML (Minimal):
<div>
<p>We respect your privacy.
<a href="/privacy-policy" target="_blank">Read our privacy statement</a>.</p>
<label>
<input type="checkbox" name="privacy_agreed" required>
I have read and agree to the privacy statement
</label>
</div>Consent Checkbox Requirements
Position: ABOVE the Apply/Submit button (not hidden)
Required: Form cannot submit unless checked
Label: Clear text like "I agree to the privacy statement"
Accessibility: Use <label> for proper form semantics
✅ Best practice: Make the privacy link clickable and open in a new tab (_blank). This allows candidates to read your full policy before applying.
Implementation Methods
Method 1: WordPress Plugin (Easiest)
For WordPress-based career sites: Use the official Carerix WordPress Plugin.
Features:
✅ Built-in privacy statement widget
✅ Automatic consent checkbox on application forms
✅ Automatically captures consent date & sends to Carerix
✅ No custom code needed
Setup:
Install the Carerix WordPress Plugin (see GitHub repository)
In plugin settings, add your privacy policy URL
Add the privacy widget above your application forms via shortcode
Test: Apply for a vacancy → consent should auto-record in Carerix
Shortcode example:
[cx_privacy_statement]
Method 2: Custom Implementation via REST API
For custom-built websites: Use the Carerix REST API to send consent data.
High-level flow:
Build your form with privacy statement + checkbox
When form submits, validate consent is checked
POST application data to Carerix REST API with consent parameters
Carerix automatically records consent date & status
REST API: Required Parameters
When creating a candidate via POST /v1/candidate, include:
{
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"privacyApprovalDate": "2026-07-30",
"consentGivenTag": true
}
Or when creating an application via POST /v1/application:
{
"candidateId": "12345",
"vacancyId": "67890",
"privacyApprovalDate": "2026-07-30"
}
Key fields:
privacyApprovalDate— Date consent was given (ISO format: YYYY-MM-DD)consentGivenTag— Boolean flag (true = consent given)
⚠️ API Authentication: Use OAuth2 or API key authentication (provided by your Carerix contact). Never hardcode credentials in client-side code.
Method 3: SRSx Website Integration
For SRSx-based career sites: SRSx has built-in GDPR support.
SRSx automatically:
✅ Displays privacy statement on application forms
✅ Captures consent checkbox
✅ Sends consent data to Carerix
Setup: Configure privacy policy URL in SRSx settings. Consent capture happens automatically when candidates apply.
Testing & Validation
Before Going Live - Checklist
Test these scenarios:
☐ Privacy statement is visible above Apply button
☐ Privacy policy link opens correctly (new tab)
☐ Apply button is disabled until checkbox is checked
☐ Submit application → candidate appears in Carerix
☐ In Carerix, candidate shows Consent Status = "Yes" (Privacy Data tab)
☐ Consent date = application submission date
☐ Try submitting WITHOUT checking box → form rejects
☐ Multiple submissions → multiple candidates, each with consent recorded
Debugging Steps
If consent is not showing in Carerix:
Check browser console for JavaScript errors
Verify privacyApprovalDate and consentGivenTag are being sent in API call
Check Carerix API logs for failed requests (ask your Carerix contact)
Verify API authentication is valid
If using WordPress plugin: Check plugin settings for privacy policy URL
Example Code Snippets
Vanilla JavaScript (Custom Form)
document.getElementById('applyForm').addEventListener('submit', async (e) => {
e.preventDefault();
const privacyCheckbox = document.getElementById('privacy_agreed');
if (!privacyCheckbox.checked) {
alert('Please agree to the privacy statement');
return;
}
const today = new Date().toISOString().split('T')[0];
const formData = {
firstName: document.getElementById('firstName').value,
lastName: document.getElementById('lastName').value,
email: document.getElementById('email').value,
privacyApprovalDate: today,
consentGivenTag: true
};
try {
const response = await fetch('https://api.carerix.com/v1/candidate', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify(formData)
});
if (response.ok) {
alert('Application submitted successfully!');
document.getElementById('applyForm').reset();
} else {
alert('Error submitting application');
}
} catch (error) {
console.error('Error:', error);
}
});
HTML Form Template
<form id="applyForm">
<input type="text" id="firstName" placeholder="First Name" required>
<input type="text" id="lastName" placeholder="Last Name" required>
<input type="email" id="email" placeholder="Email" required>
<div style="margin: 20px 0; padding: 15px; background: #f9f9f9; border-left: 3px solid #334bfa;">
<p><strong>Privacy Policy</strong></p>
<p>We respect your privacy.
<a href="/privacy-policy" target="_blank">Read our full policy</a>.</p>
<label style="display: flex; align-items: center; gap: 10px;">
<input type="checkbox" id="privacy_agreed" required>
<span>I have read and agree to the privacy statement</span>
</label>
</div>
<button type="submit">Submit Application</button>
</form>
Frequently Asked Questions
Q: When should I capture consent?
A: On application submission — the moment the candidate applies for a vacancy. This is the clearest moment of consent.
Q: What date format for privacyApprovalDate?
A: ISO 8601 format: YYYY-MM-DD (e.g., 2026-07-30). Use today's date when consent is given.
Q: If candidate reapplies, do I capture consent again?
A: Yes. Each application submission should include consent capture with that submission date. Carerix tracks consent per application.
Q: What if I want to allow applications WITHOUT consent?
A: You can — but then consentGivenTag would be false or omitted. However, GDPR best practice is to require consent before allowing application.
Q: What happens after consent is recorded?
A: In Carerix, the candidate's Privacy Data tab shows: Consent Status = "Yes", Consent Date = [application date], Retention Period = [default from admin setup], Expiration Date = [auto-calculated]. Recruiters can then monitor and extend/anonymize as needed.
Q: Where do I learn about GDPR workflows in Carerix?
A: See GDPR Flows in Carerix (for admins setting up workflows) and Working GDPR Compliant in Carerix (for recruiters managing candidates).
Related Articles
GDPR - Available Tools in Carerix — Overview of GDPR tools & features
Working GDPR Compliant in Carerix — For recruiters
GDPR Information for Administrators — Setup & workflows
GDPR Flows in Carerix — Advanced workflows & automation
Carerix & GDPR - Complete Guide — Total overview
Carerix WordPress Plugin — GitHub repository
Questions?
Contact our support team at helpdesk@carerix.com with questions about implementing GDPR consent on your website. We're happy to help!
