After trying a lot, I couldn't find a better solution than asking the contributor for the demographic data once per assignment and give him/her the option to skip the form if already filled.
The code for this looks as follows:
CML
<cml:group class="demographics" label="Demographics">
<p>Please give us some demographic background of you.</p>
<cml:checkbox label="I already submitted this data successfully" name="demographics_filled" />
<cml:group only-if="!demographics_filled">
<!-- TODO: Costomize the content of this groups as needed -->
<!-- Don't include these questions in the test questions! -->
<cml:text label="Mother tongue" gold="false" validates="required"></cml:text>
<cml:radios label="Gender" gold="false" validates="required">
<cml:radio label="Male" value="male"></cml:radio>
<cml:radio label="Female" value="female"></cml:radio>
</cml:radios>
</cml:group>
<hr />
</cml:group>
<!-- TODO: here goes the actual task -->
<cml:text label="Enter {{id}}:" validates="required"></cml:text>
JavaScript
require( [ "jquery-noconflict" ], function($) {
$('.demographics').hide();
$('.demographics').first().show();
});