If you ship a site or app that European users can reach, one of the quietest reasons to draw a complaint, a takedown notice, or a store rejection is having no way for people to find out who you are. Many jurisdictions — Germany most famously — expect a published provider identification: a name, a real address, and a way to contact you. Indie builders often skip it because a one-page launch site "doesn't feel like a business." Regulators and marketplaces tend to disagree.
This page explains the imprint and contact signal LaunchTrust looks for, why it shows up in EU and German rules, and how to add one quickly.
What LaunchTrust checks
The contact_imprint detector fetches your public page and inspects its HTML for any of the following, in order:
- A link whose
hrefcontainsimpressum,imprint,contact,iletisim,kontakt, ormentions-legales(the common German, English, Turkish, and French spellings). If found, the signal is detected. - A
mailto:link anywhere in the page — a direct contact email. If present, the signal is detected. - Visible wording such as "Impressum", "Imprint", "Legal notice", or "Mentions légales" in the page text. If present, the signal is detected.
- If none of the above appear, the signal is not detected.
This is a positive signal: a detection is the thing you want present. The detector reports what it can see in the fetched HTML — it does not judge whether the contents of your imprint are complete, accurate, or legally sufficient.
- Detected means a contact or imprint link, a
mailto:address, or imprint wording was found on the page LaunchTrust fetched. It does not confirm the page behind the link actually lists a valid name and address. - Not detected means none of those patterns appeared in the fetched HTML. The link may live only in a footer rendered by client-side JavaScript, on a different page, or behind an icon — so confirm manually before concluding it is truly absent.
- Unable to determine can occur when the page could not be fetched or read (for example, the request was blocked or timed out). That is a fetch outcome, not a statement about your site.
Because the check is pattern-based, it can read a generic "Contact" link as detected even if that page is thin. Treat detection as "a contact path exists," not "your imprint is done."
Why it matters
In Germany, commercial online services have long been expected to publish provider identification — historically under the Telemediengesetz (TMG) and, more recently, the Digitale-Dienste-Gesetz (DDG), which took over those imprint duties. The commonly expected fields include the provider's name, a physical address (not just a PO box), and a means of fast electronic contact such as an email address. Other EU member states have comparable transparency expectations rooted in the e-Commerce Directive, and France uses the "mentions légales" page for the same purpose.
App marketplaces lean the same way. A reachable developer or seller — clear contact details and a real identity — is part of how Apple App Review and Google Play assess legitimacy, and it overlaps with consumer-protection expectations for anyone selling online. A site with no imprint and no contact path reads as anonymous, which raises rejection and trust risk.
LaunchTrust maps this detector to the EU/German imprint expectation. Surfacing a missing contact path early is cheaper than discovering it through a regulator's notice or a reviewer's rejection.
A concrete example
A minimal, detectable footer link looks like this:
<footer>
<a href="/impressum">Impressum</a> ·
<a href="mailto:hello@example.com">Contact</a>
</footer>
Either the /impressum link or the mailto: would make this signal detected. The page the link points to is where the substance lives — typically something like:
Imprint / Impressum
Provider: Jane Builder (sole proprietor)
Address: Examplestrasse 1, 10115 Berlin, Germany
Email: hello@example.com
The detector confirms the path exists. You are responsible for confirming the contents are accurate for your situation.
How to address it
- Create a dedicated page. Add
/imprint(and/impressumif you serve German users) with your legal name, a real postal address, and a contact email. - List the commonly expected details. For a sole proprietor: full name, address, email. For a company: registered name, address, registration number, and authorized representative as applicable in your jurisdiction.
- Link it from every page. Put the link in your global footer so it appears site-wide, not just on a buried "About" page.
- Add a reachable email. Include a
mailto:link or a contact form so users — and reviewers — can reach you quickly. - Match it to your store presence. Ensure the contact details on your site agree with the developer/seller details in your App Store or Google Play listing.
- Re-scan after deploying. Confirm the link renders in the served HTML and is not injected only by client-side script, which a fetch may miss.
If you are unsure what your specific jurisdiction requires, treat the above as a starting point and confirm the exact fields with a qualified local source.
Check this in 30 seconds
Run your URL through the free LaunchTrust scanner. It fetches your public page and tells you whether an imprint link, a mailto: contact, or imprint wording is detected or not detected — alongside related signals like your privacy policy and terms of service — so you can fix gaps before you submit, not after a rejection.
FAQ
Does a detected imprint mean my site meets the law? No. LaunchTrust surfaces signals, not a verdict. A detection means a contact or imprint link was found in the fetched HTML — it does not certify the page contents are accurate or legally sufficient, and it is not legal advice. Confirm the specifics with a qualified source.
Do I need an Impressum if I'm a solo indie developer outside the EU? If EU or German users can access your service, the transparency expectations can still apply. A sole proprietor typically lists their own name, address, and email. Where you are unsure, refer to the law generally and confirm locally.
Why does the scan say not detected when I have a footer contact link? The detector reads the HTML it fetches. If your footer link is rendered only by client-side JavaScript, or lives on another page, the fetch may not see it. Verify in your served HTML and re-scan.
Is an email address enough on its own? A mailto: link makes the signal detected, but German imprint expectations generally also include a name and a physical address. Treat the email as one part of a fuller imprint, not the whole of it.
Compliance aid, not legal advice. LaunchTrust reports signals, not a verdict or certification.