What is a youth protection label & why do you need it for your domina website?
In Germany we place great importance on the protection of minors, and that includes the area of erotica and sexual services. The classification of whether a practice is considered pornographic or harmful to development often seems arbitrary and sometimes comes with a taste of sex work hostility. Fact is, the KJM monitors compliance with the Interstate Treaty on the Protection of Minors in the Media.
As a youth protection officer I look after a good number of colleagues regarding youth protection & legal notice compliance and I am well informed about how the KJM and the state media authorities operate.
Recently, complaints about missing youth protection labels have been piling up. While I generally recommend setting up a youth protection label in my youth protection review, not all colleagues implement it right away. Next thing you know, an official letter lands in the mailbox. So in this article I'll briefly summarize what a youth protection label is, who needs it, what it does, where to get it and how to install it.
Do I even need this?
Dear LVS, I only have a small website with my session offerings and a contact form, do I even need this? I'm not showing any porn?
This is a typical inquiry I receive every week. Short answer: Yes.
You run a website to offer your erotic and sexual services. This applies to escorts, dominas, subs, tantra masseuses, in short, anyone who advertises anything involving sex, no matter how discreetly worded.
Typically these portfolio sites don't show pornographic content, but describe services that the legislator classifies as "harmful to development", which primarily refers to the circumstance: anything involving erotica for money. This is derived from the Interstate Treaty on the Protection of Minors in the Media JMStV.
Ok fine, but do I actually need a youth protection label?
Where providers distribute or make accessible offerings that are suitable for impairing the development of children or adolescents into self-reliant and socially competent individuals, they must ensure that children or adolescents of the affected age groups do not ordinarily perceive them..
How exactly you do that is, within limits, up to you. You could for example hide your website behind a verified age check. Or only make the website accessible between 11 PM and 6 AM. Or not show any content harmful to development at all.
Or set up a simple youth protection label in 5 minutes.
I confirm that I am 18 years old - Yes/No
These gateways are very popular, but legally about as binding as lovingly hand-folded notes from 6th grade "Do you want to go out with me?"
Apart from annoying extra clicks they do absolutely nothing. Please do yourself and your users a favour and send them to eternal oblivion via the delete button.
Privileged status - Visible to the right people
Our advertising offerings typically fall under the age 16+ rating. So instead of completely giving up on visibility we can equip our offerings with a youth protection label - the KJM calls this "privileged status" (Privilegierung). "Can" is a bit euphemistic here, we must. Or we take the content down.
To make use of our privilege, we first set up our site so that it works for a 16+ rating - no graphic depictions in text, image or audio. And we "program" our site as required. To do this we place a very specific file, namely the youth protection label, on the website in a way that youth protection programs can read it and block the pages for minors.
How the youth protection label works technically
You need two different files: an age.xml (international version) & an age-de.xml. An .xml file is a text-based data format (eXtensible Markup Language), it simply makes text readable for various programs.
More information on the file structure can be found here: https://wiki.selfhtml.org/wiki/Altersklassifikation
Don't worry, you don't need to learn this, you just need to have the xml files created for you. This is free and automatic, for example here: https://www.fsk.de/label-generator/ or here: https://www.altersklassifizierung.de/fragebogen
Or you use these two templates:
age-de.xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<age-declaration>
<ageblock-basic>
<age-issuer>self-d</age-issuer>
<last-change>2026-07-27</last-change>
<country>de</country>
<label-version>1.0</label-version>
<revisit-after>30days</revisit-after>
</ageblock-basic>
<ageblock-labeltype>
<xmlfile>true</xmlfile>
<httpheader>false</httpheader>
<htmlmeta>false</htmlmeta>
<label-z>false</label-z>
<default-age>18</default-age>
</ageblock-labeltype>
</age-declaration>
Please adjust the date in this line
<last-change>2026-07-27</last-change>
and set the age to 16 or leave it at 18 in this line:
<default-age>18</default-age>
age.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- age classification (age-label.com) -->
<age-declaration>
<ageblock-basic>
<age-issuer>self-d</age-issuer>
<last-change>2026-07-27</last-change>
<label-version>2.0</label-version>
<revisit-after>30days</revisit-after>
</ageblock-basic>
<ageblock-country>
<country class="age.xml">
<country-code>all</country-code>
</country>
<country-default>age.xml</country-default>
</ageblock-country>
<ageblock-labeltype>
<httpheader>false</httpheader>
<htmlmeta>false</htmlmeta>
<phraselabel>false</phraselabel>
<agesubmit>false</agesubmit>
<label-z>false</label-z>
<xmlfile>true</xmlfile>
<default-age>18</default-age>
</ageblock-labeltype>
<ageblock-labeltype-definition>
<labeltype-xmlfile>
<label class="website">
<scope>*.YOUR-DOMAIN.com/*</scope>
<age>18</age>
</label>
</labeltype-xmlfile>
</ageblock-labeltype-definition>
</age-declaration>
Hier bei der age.xml zusätzlich noch deine Domain hier eintragen:
<scope>*.YOUR-DOMAIN.com/*</scope>
Also zum Beispiel so:
<scope>*.best-domina-in-the-world.com/*</scope>
If your text editor can't create xml files, you can also use a free online editor, for example: https://onlinexmltools.com/edit-xml
Paste the file, make your changes, click download and save as age-de.xml or age.xml.
Where does the youth protection label go?
Congratulations, you have now created a youth protection label. Now you just need to upload it.
But where and how does that work?
The label needs to go in the root folder of your website. Somewhere on the internet your site is stored, that's usually your hosting provider. There you have rented a bit of storage space for your website. It sits in a folder. And that's where you upload the two xml files. This works either through your FTP access at your web host, or with your FTP login credentials using a program like Filezilla.
Once you've done that, you can test your files by opening them: www.your-domain.com/age.xml
You should now see the xml content displayed.
I'm using a website builder (e.g. Wix or Squarespace) and I can't add my youth protection label, what now?
Unfortunately this is where it gets tricky, because as you've noticed, you can't just access the root folder.
For Squarespace there is a workaround, you upload the file and then assign it a URL.
Here you can find a → Guide.
Or directly from Squarespace:
→ URL Mappings
→ Uploading and managing files (link editor)
Whether youth protection programs can actually read this and whether Squarespace still actively supports this trick is still unclear at this point. Regarding the youth protection program, I currently have an inquiry running and will update this article as soon as I have reliable information.
With Wix you currently have no workaround option. There is a somewhat elaborate method of routing the domain through Cloudflare and serving the file on the corresponding request, but that's a bit like shooting a tiny sparrow with a massive cannon. If you want to do that you find a guide here → https://forum.wixstudio.com/t/workaround-how-to-host-root-files-txt-md-json-on-wix-using-cloudflare-workers/75888
As a general rule I would recommend that all providers of erotic and domina websites avoid website builders like Wix and Squarespace entirely. With a bit of clarity and structure you can get your website built yourself, or have it built for you. I'm happy to support you with building your site, or to guide you if you're building it yourself.
I can help you as a youth protection officer
I can help you as a youth protection officer
As a qualified youth protection officer I take care of the legal requirements and advise you on your online offering. I also provide you with a legal notice address so your home stays anonymous.
Go to information and booking