CINXE.COM
BioM Stellenbörse - BioM
<!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8"> <!-- This website is powered by TYPO3 - inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2018 of Kasper Skaarhoj. Extensions are copyright of their respective owners. Information and contribution at https://typo3.org/ --> <link rel="shortcut icon" href="/fileadmin/Resources/Public/Main/Icons/favicon.ico" type="image/x-icon"> <meta name="generator" content="TYPO3 CMS"> <meta name="keywords" content="Jobs, Karriere, Stellenbörse, Life Sciences, Biotechnologie, Bayern,"> <meta name="viewport" content="width=device-width"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- This site is optimized with Yoast SEO plugin --> <link rel="canonical" href="https://www.bio-m.org/unser-angebot/stellenboerse/nc.html" /> <title>BioM Stellenbörse - BioM</title> <meta name="description" content="Das Job-Portal für Life Science Fach- und Führungskräfte in Bayern - fachspezifisch, regional und bekannt. " /> <meta name="robots" content="index,follow" /> <meta property="og:type" content="website" /> <meta property="og:title" content="BioM Stellenbörse" /> <meta property="og:description" content="Das Job-Portal für Life Science Fach- und Führungskräfte in Bayern - fachspezifisch, regional und bekannt. " /> <meta property="og:site_name" content="BioM" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="BioM Stellenbörse" /> <meta name="twitter:description" content="Das Job-Portal für Life Science Fach- und Führungskräfte in Bayern - fachspezifisch, regional und bekannt. " /> <!-- / Yoast SEO plugin. --> <link rel="stylesheet" type="text/css" href="/typo3temp/compressor/merged-e63f52c82699397b866758fd940cb7dd-60f213f4e95d64452e145ebd802a4805.css?1705906880" media="all"> <script src="/typo3temp/compressor/merged-60eb7f3ccfb4f96a5038dada52cccb62-6a3fb40c46a158b3598bb7f841fdc54c.js?1617699732" type="text/javascript"></script> <link rel="canonical" href="https://www.bio-m.org/unser-angebot/stellenboerse/nc.html"><link rel="alternate" href="https://www.bio-m.org/unser-angebot/stellenboerse/nc.html" hreflang="de"><link rel="alternate" href="https://www.bio-m.org/en/our-services/job-market/nc.html" hreflang="en"> </head> <body data-page="121"> <div id="header" class="row align-right"> <div id="language" class="column small-4 large-4"> <ul class="list-inline"><li class="current"><span> Deutsch </span></li><li><a href="/en/our-services/job-market/nc.html"><span>English</span></a></li><!--<span>Japanese</span>--></ul> <div class="searchbox" id="searchbox-top"> <form method="post" action="/suchergebnisse.html?tx_indexedsearch_pi2%5Baction%5D=search&tx_indexedsearch_pi2%5Bcontroller%5D=Search"> <div> <input type="hidden" name="tx_indexedsearch_pi2[__referrer][@extension]" value="" /> <input type="hidden" name="tx_indexedsearch_pi2[__referrer][@controller]" value="Standard" /> <input type="hidden" name="tx_indexedsearch_pi2[__referrer][@action]" value="index" /> <input type="hidden" name="tx_indexedsearch_pi2[__referrer][arguments]" value="YTowOnt9b8c0e4a17273c05dc82bb701b08ae4ba9d80b80c" /> <input type="hidden" name="tx_indexedsearch_pi2[__referrer][@request]" value="a:3:{s:10:"@extension";N;s:11:"@controller";s:8:"Standard";s:7:"@action";s:5:"index";}07dd987b8d322a4b48f1868dd219584ab5a1345a" /> <input type="hidden" name="tx_indexedsearch_pi2[__trustedProperties]" value="a:0:{}6b22a84cee3c615f4943c90ac89482623199987a" /> </div> <input id="searchbox-toggle" type="checkbox" /> <input type="hidden" name="tx_indexedsearch_pi2[search][languageUid]" value="0"> <div class="searchbox-toggleable"> <input type="search" name="tx_indexedsearch_pi2[search][sword]" value="" placeholder="Ihre Suche ..." /> </div> <label for="searchbox-toggle" class="searchbox-toggle-label" title="Suche"></label> <div class="searchbox-buttons"> <a title="Instagram" target="_blank" class="social-button instagram" href="https://www.instagram.com/biom.biotech/"><i class="fa fa-instagram"></i></a> <a title="LinkedIn" target="_blank" class="social-button linkedin" href="https://www.linkedin.com/company/9140855/"><i class="fa fa-linkedin"></i></a> <a title="YouTube" target="_blank" class="social-button youtube" href="https://www.youtube.com/user/BioMTV"><i class="fa fa-youtube"></i></a> <a href="/" title="Home" class="social-button home"><i class="fa fa-home"></i></a> </div> <input type="submit" name="tx_indexedsearch_pi2[search][submitButton]" value="Suchen" /><span style="position: absolute !important; margin: 0 0 0 -9999px !important;"><label>Don't fill this field!</label><input type="text" name="importantMessage" value="" /></span> </form> </div> </div> </div> <div id="navigation" class="column row"> <div class="row"> <div id="logo" class="large-2 small-12 columns"> <a href="/"><img src="/fileadmin/Resources/Public/Main/Images/logo.png" width="82" height="76" alt="BioM" ></a> <label for="navigation-toggle" data-icon="≡">Menu</label> </div> <div id="menu" class="large-10 small-12 columns"> <input type="checkbox" id="navigation-toggle" style="display: none;"> <div class="toggle"> <ul class="level-1"><li class="item-13"><input id="menu-item-13" type="checkbox" name="menu-item-checkbox" /><a href="/ueber-biom.html" title="Über BioM"><span> Über Bio<sup>M</sup> </span></a><ul class="level-2"><li class="item-1465"><a href="/ueber-biom/vision-mission-profil.html"><span> Vision & Mission, Profil </span></a><ul class="level-3"><li class="item-174"><a href="/footermenue/kontakt.html"><span> Kontakt und Anfahrt </span></a></li></ul></li><li class="item-48"><a href="/ueber-biom/team.html"><span> Team </span></a></li><li class="item-1516"><a href="/ueber-biom/beirat.html"><span> Beirat </span></a></li><li class="item-49"><a href="/ueber-biom/projekte.html"><span> Projekte </span></a><ul class="level-3"><li class="item-1100"><a href="/ueber-biom/projekte/bavarian-genomes.html"><span> Bavarian Genomes </span></a></li><li class="item-1599"><a href="/ueber-biom/projekte/cross-cluster-projekte.html"><span> Cross-Cluster Projekte </span></a></li><li class="item-352"><a href="/ueber-biom/projekte/digimed-bayern.html"><span> DigiMed Bayern </span></a></li><li class="item-57"><a href="/ueber-biom/projekte/pharmagipfel.html"><span> Pharmagipfel </span></a></li></ul></li><li class="item-51"><a href="/ueber-biom/netzwerk.html"><span> Netzwerk </span></a><ul class="level-3"><li class="item-132"><a href="https://www.bio-m.org/ueber-biom/netzwerk.html#c642"><span> Mitgliedschaften </span></a></li><li class="item-133"><a href="https://www.bio-m.org/ueber-biom/netzwerk.html#c648"><span> Partner und Links </span></a></li></ul></li></ul><label for="menu-item-13"></label></li><li class="item-43"><input id="menu-item-43" type="checkbox" name="menu-item-checkbox" /><a href="/unser-cluster.html"><span> Unser Cluster </span></a><ul class="level-2"><li class="item-1760"><a href="/unser-cluster/biotechnologie-cluster-bayern.html"><span> Biotechnologie Cluster Bayern </span></a><ul class="level-3"><li class="item-155"><a href="/unser-cluster/biotechnologie-cluster-bayern/standorte-in-bayern.html"><span> Standorte in Bayern </span></a></li><li class="item-154"><a href="/unser-cluster/biotechnologie-cluster-bayern/biotech-cluster-muenchen.html"><span> Biotech Cluster München </span></a></li></ul></li><li class="item-45"><a href="/unser-cluster/firmendatenbank.html"><span> Firmendatenbank </span></a></li><li class="item-1429"><a href="/bavaria-excellence-in-biotech.html"><span> Bavaria - Excellence in Biotech </span></a></li><li class="item-1645"><a href="/unser-cluster/bavarian-biopharma-ecosystem.html"><span> Bavarian Biopharma Ecosystem </span></a></li></ul><label for="menu-item-43"></label></li><li class="item-41 current"><input id="menu-item-41" type="checkbox" name="menu-item-checkbox" /><a href="/unser-angebot.html"><span> Unser Angebot </span></a><ul class="level-2"><li class="item-1575"><a href="/unser-angebot/biom-discount-laborbedarf.html"><span> BioM Discount Laborbedarf </span></a></li><li class="item-104"><a href="/unser-angebot/scouting-partnering.html"><span> Scouting & Partnering </span></a></li><li class="item-119"><a href="/unser-angebot/foerderberatung.html"><span> Förderberatung </span></a></li><li class="item-123"><a href="/unser-angebot/internationales.html"><span> Internationales </span></a><ul class="level-3"><li class="item-135"><a href="/unser-angebot/internationales/bayern-weltweit.html"><span> Bayern weltweit </span></a></li><li class="item-136"><a href="/unser-angebot/internationales/willkommen-in-bayern.html"><span> Willkommen in Bayern </span></a></li></ul></li><li class="item-120"><a href="/unser-angebot/seminarraeume.html"><span> Seminarräume </span></a></li><li class="item-175"><a href="/unser-angebot/marketing.html"><span> Marketing </span></a></li><li class="item-121 current"><a href="/unser-angebot/stellenboerse/nc.html"><span> Stellenbörse </span></a><ul class="level-3"><li class="item-148"><a href="/unser-angebot/stellenboerse/anzeige-aufgeben.html"><span> Anzeige aufgeben </span></a></li></ul></li></ul><label for="menu-item-41"></label></li><li class="item-35"><input id="menu-item-35" type="checkbox" name="menu-item-checkbox" /><a href="/fuer-gruender.html"><span> Für Gründer </span></a><ul class="level-2"><li class="item-1497"><a href="https://www.maxl-biotech.org/"><span> MAxL </span></a></li><li class="item-110"><a href="/fuer-gruender/mentor-circle.html"><span> Mentor Circle </span></a></li><li class="item-113"><a href="/fuer-gruender/pitch-training.html"><span> Pitch Training </span></a></li><li class="item-114"><a href="/fuer-gruender/bootcamp.html" target="_blank"><span> Bootcamp </span></a></li><li class="item-115"><a href="/fuer-gruender/bioentrepreneur-lounge.html"><span> BioEntrepreneur Lounge </span></a></li><li class="item-116"><a href="/fuer-gruender/bioangels.html"><span> BioAngels </span></a></li><li class="item-117"><a href="http://m4-award.org" target="_blank" title="m4 Award"><span> m<sup>4</sup> Award </span></a></li><li class="item-134"><a href="/fuer-gruender/links.html"><span> Links </span></a></li></ul><label for="menu-item-35"></label></li><li class="item-1143"><input id="menu-item-1143" type="checkbox" name="menu-item-checkbox" /><a href="/mediathek.html"><span> Mediathek </span></a><ul class="level-2"><li class="item-36"><a href="/nachrichten.html"><span> Nachrichten </span></a></li><li class="item-1140"><a href="/mediathek/podcast.html"><span> Podcast </span></a></li><li class="item-147"><a href="/mediathek/newsletter.html"><span> Newsletter </span></a></li><li class="item-156"><a href="/mediathek/publikationen.html"><span> Publikationen </span></a></li><li class="item-122"><a href="/mediathek/pr-und-medien.html"><span> PR und Medien </span></a><ul class="level-3"><li class="item-1661"><a href="/mediathek/pr-und-medien/bayoconnect-2024.html"><span> BayOConnect 2024 </span></a></li><li class="item-1659"><a href="/mediathek/pr-und-medien/eroeffnung-maxl.html"><span> Eröffnung MAxL </span></a></li><li class="item-1565"><a href="/mediathek/pr-und-medien/biom-dinner-2023.html"><span> BioM Dinner 2023 </span></a></li><li class="item-347"><a href="/mediathek/pr-und-medien/bilder-m4-award-verleihung-2023.html"><span> Bilder m4 Award-Verleihung 2023 </span></a></li></ul></li></ul><label for="menu-item-1143"></label></li><li class="item-44"><input id="menu-item-44" type="checkbox" name="menu-item-checkbox" /><a href="/veranstaltungen/nc.html"><span> Veranstaltungen </span></a><ul class="level-2"><li class="item-1568"><a href="http://www.bayoconnect.org/"><span> BayOConnect 2024 </span></a></li><li class="item-1320"><a href="/veranstaltungen/biom-veranstaltungen.html"><span> BioM Veranstaltungen </span></a></li><li class="item-1322"><a href="/veranstaltungen/externe-termine/nc.html"><span> Externe Termine </span></a></li></ul><label for="menu-item-44"></label></li></ul> </div> </div> </div> </div> <div id="contents" class="column row"> <div class="columns large-12 small-12"> <!--TYPO3SEARCH_begin--><div id="c608" class="csc-default"> <div class="fce-biomheader"> <div class="row header-content-container"> <div class="header-content white"> <h1 class="white">Stellenangebote</h1> </div> <div class="column small-12 medium-4 large-4 with-svg"></div> <div class="column large-8 medium-8 show-for-medium-up with-background " style="background: url('/fileadmin/Webdata/Uploads/Header_und_Teaser/Header_Jobboerse_neu_880x300.jpg')"></div> </div> </div> </div><div id="c607" class="csc-default"> <div class="fce-biomcolumns"> <div class="row"> <div class="small-12 medium-1 large-1 columns border"> <!--TYPO3SEARCH_end--> <!--TYPO3SEARCH_begin--> </div> <div class="small-12 medium-8 large-8 columns "> <div id="c753" class="csc-default"><p>Das Portal für Life Science Fach- und Führungskräfte in Bayern - fachspezifisch, regional und bekannt. </p></div> <div id="c625" class="csc-default"><div class="biom_database_connection"> <div class="job index"> <form method="post" id="database_search" action="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=9cd241eafde47240daab686ba5af7187"> <div> <input type="hidden" name="tx_biomdatabaseconnection_jobs[__referrer][@extension]" value="BiomDatabaseConnection" /> <input type="hidden" name="tx_biomdatabaseconnection_jobs[__referrer][@controller]" value="Job" /> <input type="hidden" name="tx_biomdatabaseconnection_jobs[__referrer][@action]" value="index" /> <input type="hidden" name="tx_biomdatabaseconnection_jobs[__referrer][arguments]" value="YTowOnt9b8c0e4a17273c05dc82bb701b08ae4ba9d80b80c" /> <input type="hidden" name="tx_biomdatabaseconnection_jobs[__referrer][@request]" value="a:3:{s:10:"@extension";s:22:"BiomDatabaseConnection";s:11:"@controller";s:3:"Job";s:7:"@action";s:5:"index";}57fe6d4240a3e94d2cfd8ca671099b5b9e971906" /> <input type="hidden" name="tx_biomdatabaseconnection_jobs[__trustedProperties]" value="a:0:{}6b22a84cee3c615f4943c90ac89482623199987a" /> </div> <input type="hidden" name="show_requests" value="" /> <label for="tx_biomdatabaseconnection_pi1_search_search_word">Suchbegriff</label> <input type="text" id="tx_biomdatabaseconnection_pi1_search_search_word" name="search_word" size="50" maxlength="255" /> <input type="submit" value="Suchen" /><span style="position: absolute !important; margin: 0 0 0 -9999px !important;"><label>Don't fill this field!</label><input type="text" name="importantMessage" value="" /></span> </form> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="TRIGA-S GmbH Scientific Solutions" alt="TRIGA-S GmbH Scientific Solutions" src="/fileadmin/_processed_/2/a/csm_company-6655_568e7757c5.jpg" width="180" height="61" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">21.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15575/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17233.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=b7916c6652d33b103b9bfc28d2ffdfc8">Labortechniker/Laborant oder MTA/BTA/CTA (m/w/d) in Voll- oder Teilzeit</a>--> <a href="https://network.bio-m.org/file/15575/download" target="_blank" title="https://network.bio-m.org/file/15575/download">Labortechniker/Laborant oder MTA/BTA/CTA (m/w/d) in Voll- oder Teilzeit</a><br /> </p> <p class="name">TRIGA-S GmbH Scientific Solutions</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="catalYm GmbH" alt="catalYm GmbH" src="/fileadmin/_processed_/6/6/csm_company-8035_676b5da9c7.jpg" width="180" height="131" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">19.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15574/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17232.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=80278d26d24063e613345a217d35607e">Head of Quality Assurance (m/f/d)</a>--> <a href="https://network.bio-m.org/file/15574/download" target="_blank" title="https://network.bio-m.org/file/15574/download">Head of Quality Assurance (m/f/d)</a><br /> </p> <p class="name">catalYm GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Formycon AG" alt="Formycon AG" src="/fileadmin/_processed_/b/8/csm_company-6168_a1a674f193.jpg" width="180" height="90" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">19.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15573/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17231.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=b8f24132cecac751277548467bda9437">Senior Clinical Trial Supply Manager (gn)</a>--> <a href="https://network.bio-m.org/file/15573/download" target="_blank" title="https://network.bio-m.org/file/15573/download">Senior Clinical Trial Supply Manager (gn)</a><br /> </p> <p class="name">Formycon AG</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="bioMérieux Deutschland GmbH" alt="bioMérieux Deutschland GmbH" src="/fileadmin/_processed_/3/6/csm_company-3229_2e282477a9.jpg" width="180" height="180" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">18.11.2024</p> <p> <a href="/unser-angebot/stellenboerse/detail/job/17230.html?tx_biomdatabaseconnection_jobs%5BbackPid%5D=121&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=cd27e1d0b0027335b6d0be23943b5c05">Clinical Education Manager (m/w/d)</a><br /> </p> <p class="name">bioMérieux Deutschland GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Proteros biostructures GmbH" alt="Proteros biostructures GmbH" src="/fileadmin/_processed_/b/8/csm_company-1474_28acffa0de.jpg" width="180" height="83" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">13.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15572/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17229.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=4bd0f70bd6692099ca5e605bfec70c0d">Research Scientist (gn) insect cells with focus on small- and mid-scale screening</a>--> <a href="https://network.bio-m.org/file/15572/download" target="_blank" title="https://network.bio-m.org/file/15572/download">Research Scientist (gn) insect cells with focus on small- and mid-scale screening</a><br /> </p> <p class="name">Proteros biostructures GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Proteros biostructures GmbH" alt="Proteros biostructures GmbH" src="/fileadmin/_processed_/b/8/csm_company-1474_28acffa0de.jpg" width="180" height="83" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">13.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15571/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17228.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=97ac282edf0ca1f1b2449fc8867d13ee">Research Scientist (gn) Protein Sciences with focus on membrane proteins</a>--> <a href="https://network.bio-m.org/file/15571/download" target="_blank" title="https://network.bio-m.org/file/15571/download">Research Scientist (gn) Protein Sciences with focus on membrane proteins</a><br /> </p> <p class="name">Proteros biostructures GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Proteros biostructures GmbH" alt="Proteros biostructures GmbH" src="/fileadmin/_processed_/b/8/csm_company-1474_28acffa0de.jpg" width="180" height="83" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">13.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15570/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17227.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=5ac452943485bf1610bc719d74e35fc0">Team leader (gn) Cell Culture Science</a>--> <a href="https://network.bio-m.org/file/15570/download" target="_blank" title="https://network.bio-m.org/file/15570/download">Team leader (gn) Cell Culture Science</a><br /> </p> <p class="name">Proteros biostructures GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Proteros biostructures GmbH" alt="Proteros biostructures GmbH" src="/fileadmin/_processed_/b/8/csm_company-1474_28acffa0de.jpg" width="180" height="83" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">13.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15569/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17226.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=28cb78d8873882d655d61c8ae2c4dc71">RESEARCH SCIENTIST (gn) PROTEIN CRYO-EM WITH PROJECT MANAGEMENT SKILLS</a>--> <a href="https://network.bio-m.org/file/15569/download" target="_blank" title="https://network.bio-m.org/file/15569/download">RESEARCH SCIENTIST (gn) PROTEIN CRYO-EM WITH PROJECT MANAGEMENT SKILLS</a><br /> </p> <p class="name">Proteros biostructures GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Proteros biostructures GmbH" alt="Proteros biostructures GmbH" src="/fileadmin/_processed_/b/8/csm_company-1474_28acffa0de.jpg" width="180" height="83" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">13.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15568/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17225.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=d612cd4af7da801c24a4c450e5ddc283">Team Leader (gn) Mass Spectrometry</a>--> <a href="https://network.bio-m.org/file/15568/download" target="_blank" title="https://network.bio-m.org/file/15568/download">Team Leader (gn) Mass Spectrometry</a><br /> </p> <p class="name">Proteros biostructures GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Proteros biostructures GmbH" alt="Proteros biostructures GmbH" src="/fileadmin/_processed_/b/8/csm_company-1474_28acffa0de.jpg" width="180" height="83" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">13.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15567/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17224.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=73ab85fd7c1875b49a8f2a87f8c26f61">Functional Group Leader (gn) Analytical Services</a>--> <a href="https://network.bio-m.org/file/15567/download" target="_blank" title="https://network.bio-m.org/file/15567/download">Functional Group Leader (gn) Analytical Services</a><br /> </p> <p class="name">Proteros biostructures GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Genzentrum der LMU München" alt="Genzentrum der LMU München" src="/fileadmin/_processed_/a/6/csm_company-1136_ffd5ca80b3.jpg" width="180" height="45" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">12.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15566/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17223.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=cb53d9c5c16607eb558cf55d48e94c97">Technische Assistenz (m/w/x)</a>--> <a href="https://network.bio-m.org/file/15566/download" target="_blank" title="https://network.bio-m.org/file/15566/download">Technische Assistenz (m/w/x)</a><br /> </p> <p class="name">Genzentrum der LMU München</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="BSL Bioservice Scientific Laboratories Munich GmbH" alt="BSL Bioservice Scientific Laboratories Munich GmbH" src="/fileadmin/_processed_/8/4/csm_company-7154_68edcb0aaf.jpg" width="180" height="76" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">08.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15564/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17221.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=24f4408218427c87a2e564a824afa2bc">Tierhausleitung (m/w/d)</a>--> <a href="https://network.bio-m.org/file/15564/download" target="_blank" title="https://network.bio-m.org/file/15564/download">Tierhausleitung (m/w/d)</a><br /> </p> <p class="name">BSL Bioservice Scientific Laboratories Munich GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Formycon AG" alt="Formycon AG" src="/fileadmin/_processed_/b/8/csm_company-6168_a1a674f193.jpg" width="180" height="90" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">07.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15563/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17220.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=9ae22e3527ff1fc3ced07aba91010db1">Senior IP Counsel (gn)</a>--> <a href="https://network.bio-m.org/file/15563/download" target="_blank" title="https://network.bio-m.org/file/15563/download">Senior IP Counsel (gn)</a><br /> </p> <p class="name">Formycon AG</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Formycon AG" alt="Formycon AG" src="/fileadmin/_processed_/b/8/csm_company-6168_a1a674f193.jpg" width="180" height="90" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">06.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15562/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17219.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=c9ed720d7faeaa3859357e0bb7a86fef">Clinical Study Administrator (gn)</a>--> <a href="https://network.bio-m.org/file/15562/download" target="_blank" title="https://network.bio-m.org/file/15562/download">Clinical Study Administrator (gn)</a><br /> </p> <p class="name">Formycon AG</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="MVZ Martinsried GmbH" alt="MVZ Martinsried GmbH" src="/fileadmin/_processed_/b/9/csm_company-3792_45c34e6198.jpg" width="180" height="175" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">06.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15561/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17218.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=3ad84459d4c34199ceb08c6caffc0b42">Teamleitung / Techn. Supervisor (m/w/x) für unser Routinelabor (Laboratoriumsmedizin)</a>--> <a href="https://network.bio-m.org/file/15561/download" target="_blank" title="https://network.bio-m.org/file/15561/download">Teamleitung / Techn. Supervisor (m/w/x) für unser Routinelabor (Laboratoriumsmedizin)</a><br /> </p> <p class="name">MVZ Martinsried GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="MVZ Martinsried GmbH" alt="MVZ Martinsried GmbH" src="/fileadmin/_processed_/b/9/csm_company-3792_45c34e6198.jpg" width="180" height="175" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">06.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15560/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17217.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=b020f7abd3ff580ebc3ed11627751850">Customer Care Agent (m/w/x) im Medizinischen Bereich</a>--> <a href="https://network.bio-m.org/file/15560/download" target="_blank" title="https://network.bio-m.org/file/15560/download">Customer Care Agent (m/w/x) im Medizinischen Bereich</a><br /> </p> <p class="name">MVZ Martinsried GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="MVZ Martinsried GmbH" alt="MVZ Martinsried GmbH" src="/fileadmin/_processed_/b/9/csm_company-3792_45c34e6198.jpg" width="180" height="175" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">06.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15559/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17216.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=a7666c8eb0f5ad48378e1639ba99f327">Mitarbeiter (m/w/x) für den Bereich Probenannahme Genetik</a>--> <a href="https://network.bio-m.org/file/15559/download" target="_blank" title="https://network.bio-m.org/file/15559/download">Mitarbeiter (m/w/x) für den Bereich Probenannahme Genetik</a><br /> </p> <p class="name">MVZ Martinsried GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="MVZ Martinsried GmbH" alt="MVZ Martinsried GmbH" src="/fileadmin/_processed_/b/9/csm_company-3792_45c34e6198.jpg" width="180" height="175" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">06.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15558/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17215.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=52799578d560dd80ce7bf61d68102c43">Werkstudent für Exom-Analysen (m/w/x) Teilzeit,</a>--> <a href="https://network.bio-m.org/file/15558/download" target="_blank" title="https://network.bio-m.org/file/15558/download">Werkstudent für Exom-Analysen (m/w/x) Teilzeit,</a><br /> </p> <p class="name">MVZ Martinsried GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="SMEY LABS GmbH" alt="SMEY LABS GmbH" src="/fileadmin/_processed_/7/f/csm_company-10459_574723155c.jpg" width="180" height="68" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">04.11.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15557/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17214.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=12a492facba207515c5a042b106eae4e">Scientists in Analytical Chemistry, Genetic and Metabolic Engineering, Process Development, and a Lab Technician for Process Development Support</a>--> <a href="https://network.bio-m.org/file/15557/download" target="_blank" title="https://network.bio-m.org/file/15557/download">Scientists in Analytical Chemistry, Genetic and Metabolic Engineering, Process Development, and a Lab Technician for Process Development Support</a><br /> </p> <p class="name">SMEY LABS GmbH</p> </div> </div> <div class="row database_connection_job"> <div class="small-12 medium-4 large-3"> <img title="Metronomia Clinical Research GmbH" alt="Metronomia Clinical Research GmbH" src="/fileadmin/_processed_/6/e/csm_company-4319_2d04b77601.jpg" width="180" height="31" /> </div> <div class="column small-12 medium-8 large-9"> <p class="date">30.10.2024</p> <p> <!-- <a title="https://network.bio-m.org/file/15556/download" target="_blank" href="/unser-angebot/stellenboerse/detail/pdf/17213.html?tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=f506240bb7c85e625ddd8ccd573907b6">Clinical Programmer (m/f/d)</a>--> <a href="https://network.bio-m.org/file/15556/download" target="_blank" title="https://network.bio-m.org/file/15556/download">Clinical Programmer (m/f/d)</a><br /> </p> <p class="name">Metronomia Clinical Research GmbH</p> </div> </div> <div class="pagination"> <p> Seite <strong>1</strong> von <strong>2</strong> </p> <ul> <li class="current">1</li> <li> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5Bpage_index%5D=2&tx_biomdatabaseconnection_jobs%5Baction%5D=index&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=c51095137effb40cad81ac4f673fe221">2</a> </li> <li> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5Bpage_index%5D=2&tx_biomdatabaseconnection_jobs%5Baction%5D=index&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=c51095137effb40cad81ac4f673fe221">>></a> </li> </ul> </div> </div> </div> </div> </div> <div class="small-12 medium-3 large-3 columns border"> <!--TYPO3SEARCH_end--> <div id="c6987" class="csc-default"> <div class="fce-biomslidercontentright"> <div class="slider-content-right-header"> <p class="h3">Bio<sup>M </sup> Events</p> </div> <div class="row slick slider-content-right"> <div class="slide" style="padding: 0 20px;"> <a href="https://www.bio-m.org/veranstaltungen/detail/from-science-to-start-upquot-biom-on-tour-in-erlangen.html" target="_blank" class="slide-link"> <img data-track-content="" data-content-name="“From Science to Start-up" - BioM on Tour in Erlangen Maybe at some point you have made an important discovery during fundamental research where you thought that might be of translational impact, but you do not know what would be the next steps to start a company? Or you are performing research in a university setting and would like to join a start-up? Are you interested in potential support structures for start-up companies or career options in Bavaria?" data-content-piece="/fileadmin/Webdata/Uploads/Zahlen_und_Fakten/nuernberg_fotolia_33813927.jpg" alt="“From Science to Start-up" - BioM on Tour in Erlangen Maybe at some point you have made an important discovery during fundamental research where you thought that might be of translational impact, but you do not know what would be the next steps to start a company? Or you are performing research in a university setting and would like to join a start-up? Are you interested in potential support structures for start-up companies or career options in Bavaria?" src="/fileadmin/Webdata/Uploads/Zahlen_und_Fakten/nuernberg_fotolia_33813927.jpg" width="512" height="341" /> </a> </div> </div> </div> </div> <div class="csc-default"><div class="divider"><hr></div></div> <div id="c15327" class="csc-default"> <div class="fce-biomslidercontentright"> <div class="slider-content-right-header"> <p class="h3">Karriere-Angebote</p> </div> <div class="row slick slider-content-right"> <div class="slide" style="padding: 0 20px;"> <a href="https://www.uatalents.com/" target="_blank" class="slide-link"> <img data-track-content="" data-content-name="UA Talents: Jobplattform für Geflüchtete aus der Ukraine" data-content-piece="/fileadmin/Webdata/Uploads/1-Bilder/Leiste_rechts_Banner_300x200/2022/UATalents_300x200.jpg" alt="UA Talents: Jobplattform für Geflüchtete aus der Ukraine" src="/fileadmin/Webdata/Uploads/1-Bilder/Leiste_rechts_Banner_300x200/2022/UATalents_300x200.jpg" width="400" height="267" /> </a> </div> </div> </div> </div> <div class="csc-default"><div class="divider"><hr></div></div> <div id="c816" class="csc-default"><p class="h3">Topjobs</p></div> <div id="c815" class="csc-default"><div class="biom_database_connection"> <div class="job index"> <div class="row database_connection_company"> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5BcompanyId%5D=370&tx_biomdatabaseconnection_jobs%5Baction%5D=listTopJobs&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=3f4c0511106719b0348594122224c7cc"> <img title="Eurofins BioPharma Product Testing Munich GmbH" alt="Eurofins BioPharma Product Testing Munich GmbH" src="/fileadmin/_processed_/2/8/csm_company-370_ef6dcb3edb.jpg" width="180" height="40" /> </a> </div> <div class="row database_connection_company"> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5BcompanyId%5D=1207&tx_biomdatabaseconnection_jobs%5Baction%5D=listTopJobs&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=f335f799073a628ebed2a0fbd87f93e4"> <img title="Medigene AG" alt="Medigene AG" src="/fileadmin/_processed_/6/6/csm_company-1207_facd45b496.jpg" width="180" height="43" /> </a> </div> <div class="row database_connection_company"> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5BcompanyId%5D=6168&tx_biomdatabaseconnection_jobs%5Baction%5D=listTopJobs&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=c510fdd1b5eb5f9975732a59e02c45e1"> <img title="Formycon AG" alt="Formycon AG" src="/fileadmin/_processed_/b/8/csm_company-6168_a1a674f193.jpg" width="180" height="90" /> </a> </div> <div class="row database_connection_company"> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5BcompanyId%5D=6176&tx_biomdatabaseconnection_jobs%5Baction%5D=listTopJobs&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=8f847e00f6e3ffa20679a02e84365d77"> <img title="BioNTech SE" alt="BioNTech SE" src="/fileadmin/_processed_/a/2/csm_company-6176_bb921aaa1f.jpg" width="180" height="19" /> </a> </div> <div class="row database_connection_company"> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5BcompanyId%5D=8346&tx_biomdatabaseconnection_jobs%5Baction%5D=listTopJobs&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=76ba9a286b47a33e23e0efe01143197f"> <img title="ITM Medical Isotopes GmbH" alt="ITM Medical Isotopes GmbH" src="/fileadmin/_processed_/2/9/csm_company-8346_9f1ef799c2.jpg" width="180" height="83" /> </a> </div> <div class="row database_connection_company"> <a href="/unser-angebot/stellenboerse/nc.html?tx_biomdatabaseconnection_jobs%5BcompanyId%5D=10451&tx_biomdatabaseconnection_jobs%5Baction%5D=listTopJobs&tx_biomdatabaseconnection_jobs%5Bcontroller%5D=Job&cHash=bc9a346b0edd41c72e05b84281eae3eb"> NVIDIA DE GmbH </a> </div> </div> </div> </div> <div id="c978" class="csc-default"><div class="csc-header csc-header-n1"><h3 class="csc-firstHeader">Anzeige aufgeben</h3></div><p>Sie möchten in der Bio<sup>M</sup>-Stellenbörse inserieren?<br /><a href="/unser-angebot/stellenboerse/anzeige-aufgeben.html" class="link-button"> Anzeige aufgeben</a> </p></div> <div class="csc-default"><div class="divider"><hr></div></div> <div id="c780" class="csc-default"> <div class="fce-biomemployeewidget"> <div class="image columns large-4 small-12"> <img title="Dr. Andreas Berghammer" alt="Dr. Andreas Berghammer" src="/fileadmin/_processed_/2/b/csm_Andreas_Berghammer_300x300_e70831cfe5.jpg" width="200" height="201" /> </div> <div class="row"> <div class="column"> <div class="h4">Dr. Andreas Berghammer</div> </div> </div> <div class="row"> <div class="column"> <p>Community Service Lead</p> </div> </div> <div class="row"> <div class="column"> <i class="fa fa-phone" aria-hidden="true"></i> <a href="tel:+498989967917">+49 (0) 89 / 89 96 79-17</a> </div> </div> <div class="row"> <div class="column"> <i class="fa fa-envelope-o" aria-hidden="true"></i> <a href="javascript:linkTo_UnCryptMailto('jxfiql7ybodexjjboXyfl:j+lod');">berghammer@bio-m.org</a> </div> </div> </div> </div> <div class="csc-default"><div class="divider"><hr></div></div> <!--TYPO3SEARCH_begin--> </div> </div> </div> </div><!--TYPO3SEARCH_end--> </div> </div> <div id="footer" class="row"> <div class="large-6 columns"> <div id="c10" class="csc-default"></div> </div> <div class="large-6 columns"> <ul class="list-inline"><li><a href="/footermenue/impressum.html"><span> Impressum </span></a></li><li><a href="/footermenue/datenschutz.html"><span> Datenschutz </span></a></li><li><a href="/footermenue/sitemap.html"><span> Sitemap </span></a></li><li><a href="/footermenue/agb.html"><span> AGB </span></a></li><li><a href="/footermenue/kontakt.html"><span> Kontakt </span></a></li></ul> </div> </div> <div id="cookiebanner-body"> <div id="cookiebanner"> <!-- <div class="overlay container--outer frame-layout-0"></div>--> <div class="cookie--content"> <div id="c13126" class="csc-default"><p><b>Cookie Einstellungen</b> </p> <p>Wir wollen die für Sie wichtigsten Informationen und Services bestmöglich bereitstellen. Dafür benötigen wir Ihr Einverständnis, mit Hilfe eines Web-Analyse-Tools eine anonymisierte Auswertung Ihres Besuchs zu rein statistischen Zwecken erstellen und auswerten zu dürfen. Sie können Ihr Einverständnis jederzeit auf unserer Homepage unter »Datenschutz« ändern.</p></div> </div> <div class="cookie--footer"> <div class="container--outer frame-layout-0"> <div class="container--inner"> <div class="cookie--actions"> <div class="cookiebanner__consent"> <div class="cookiebanner__consent-accept"> <a href="#" class="link--accept link-button">alle akzeptieren</a> </div> <div class="cookiebanner__consent-decline"> <a href="#" class="link--deny link-button">nur essentielle</a> </div> <div class="cookiebanner__consent-popup"> <a href="#" data-open-overlay="consent-manager--consent" class="consent-manager--consent link--readmore link-marker link-button" title="konfigurieren"> konfigurieren </a> </div> </div> </div> <div class="cookie--navigation"> <ul class="two-colums"><li><a href="/footermenue/datenschutz.html"><span> Datenschutz </span></a></li><li><a href="/footermenue/impressum.html"><span> Impressum </span></a></li></ul> </div> </div> </div> </div> </div> <div class="overlay--consent-manager--consent overlay--full-overlay-container" data-close-overlay="consent-manager--consent" > <div class="frame frame-default frame--consent-overlay frame-layout-0 container--outer text-width--normal"> <div class="cookie-banner"> <div class="frame-inner container--inner"> <div class="cookiemanager accordion"> <div class="cookiemanager__groups frame-inner container--inner"> <div class="cookiegroup accordion--item active" id="consent-1"> <div class="cookiegroup__head accordion--header"> <div class="cookiegroup__header"> <p>Website-Analyse-Cookies von Matomo</p> </div> <div class="cookiegroup__description"> <p>Analyse-Cookies erfassen Informationen anonymisiert. Diese Informationen helfen uns zu verstehen, wie unsere Besucher unsere Website nutzen. Wir verwenden für Tracking und Analyse die Software Matomo.</p> </div> </div> <div class="dotted-line-bottom"></div> <div class="cookiegroup__providers accordion--body-outer"> <div class="frame"> <div class="frame-inner cookiegroup__purposes"> <div class="cookiegroup__purpose"> <input type="checkbox" id="provider-toggle-matomo" class="provider__checkbox js-consentmanager__toggleconsent" data-purposeid="matomo"/> <label for="provider-toggle-matomo" class="provider__label"> <span class="provider__icon"> <span class="provider__title provider__title_active"> <span class="provider__title_text"> Matomo-Cookies aktivieren </span> </span> <span class="provider__title provider__title_inactive"> <span class="provider__title_text"> Matomo-Cookies aktivieren </span> </span> </span> </label> <div class="row"> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> _pk_id </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Matomo </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> 13 Monate </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Dieser Cookie enthält eine eindeutige jedoch anonymisiert Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.</p> <p>Die _pk_id ist eine ID die erlaubt zu überprüfen, welche Routen der Website-Besucher geklickt hat. Dafür wird ein generierter Identifier verwendet. Anhand dieser ID können http Requests zueinander verknüpft und entsprechende Statistiken über z. B. die Anzahl der Besuche, durchschnittliche Verweildauer eines Nutzers auf der Website und gelesene Seiten erzeugt werden.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> _pk_ref </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Matomo </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> 6 Monate </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Wird verwendet um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website oder Unterseiten gekommen ist. Die Speicherung der jeweiligen URL erfolgt als String, welche den Referer, also die Website von der die jeweilige Seite aufgerufen wurde, in einem Cookie angibt um daraus entsprechende Statistiken erstellen und analysieren zu können.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> _pk_ses </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Matomo </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> 1 Tag. </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Das Session Cookie von Matomo wird verwendet um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen. Das Cookie wird nach dem Ablauf jeder Sitzung (Website-Besuch), spätestens nach einem Tag automatisch gelöscht. Ein Personenbezug ist über dieses Cookie nicht herstellbar. Die Cookies werden für Zwecke der Erstellung von nicht unmittelbar personenbezogenen Nutzerstatistiken verwendet (pseudonyme Nutzungsprofile).</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> _pk_testcookie </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Matomo </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> Session </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Ein von Matomo angelegtes Testcookie um zu überprüfen, ob die Cookie-Funktionalität und Cookie-Einstellungen der Website und die Zugriffseinstellungen für Matomo richtig gesetzt sind.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> spamshield </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Matomo </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> Session </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Session Cookie für Anti Spam genutzt (technischer Cookie).</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> cookie_consent </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Matomo </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> Session </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Dieser Cookie ist zur Speicherung Ihrer Einwilligung und gegebenenfalls Ihrer individuellen Auswahl für den Einsatz von Cookies auf Ihrem Endgerät unbedingt erforderlich, um bei einem erneuten Aufruf der Website festzustellen, ob Sie bereits eine Einwilligung erteilt haben.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="cookiegroup accordion--item active" id="consent-2"> <div class="cookiegroup__head accordion--header"> <div class="cookiegroup__header"> <p>YouTube-Cookies</p> </div> <div class="cookiegroup__description"> <p>Diese Cookies dienen der Darstellung von externen Medien Inhalten, die über YouTube bereit gestellt werden.</p> </div> </div> <div class="dotted-line-bottom"></div> <div class="cookiegroup__providers accordion--body-outer"> <div class="frame"> <div class="frame-inner cookiegroup__purposes"> <div class="cookiegroup__purpose"> <input type="checkbox" id="provider-toggle-iframes" class="provider__checkbox js-consentmanager__toggleconsent" data-purposeid="iframes"/> <label for="provider-toggle-iframes" class="provider__label"> <span class="provider__icon"> <span class="provider__title provider__title_active"> <span class="provider__title_text"> YouTube-Cookies aktivieren </span> </span> <span class="provider__title provider__title_inactive"> <span class="provider__title_text"> YouTube-Cookies aktivieren </span> </span> </span> </label> <div class="row"> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> VISITOR_INFO1_LIVE </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Youtube </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> 179 Tage </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Versucht, die Benutzerbandbreite auf Seiten mit integrierten YouTube-Videos zu schätzen.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> YSC </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Youtube </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> Session </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Registriert eine eindeutige ID, um Statistiken der Videos von YouTube, die der Benutzer gesehen hat, zu behalten.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> IDE </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Youtube </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> 18 Monate </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Diese Cookies verfolgen, wie Sie unsere Website nutzen, um Ihnen Werbung zu zeigen, die für Sie interessant sein könnte.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> DSID </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Youtube </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> 18 Monate </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Diese Cookies verfolgen, wie Sie unsere Website nutzen, um Ihnen Werbung zu zeigen, die für Sie interessant sein könnte.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Bezeichnung</b></div> CONSENT </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Anbieter</b></div> Youtube </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Gültigkeitsdauer</b></div> Max 2 Jahre </div> </div> <div class="col-sm-3 col-xs-6 provider_background_grey"> <div class="provider__cookiecolumn"> <div class="visible-xs"><b>Typ</b></div> HTTP </div> </div> <div class="col-xs-12"> <div class="provider__cookiecolumn_description"> <div class="provider__cookiecolumn_description_inner"> <div><b>Einsatzzweck und Inhalt</b></div> <p>Diese Cookies verfolgen, wie Sie unsere Website nutzen, um Ihnen Werbung zu zeigen, die für Sie interessant sein könnte.</p> </div> <div class="arrow_down arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 20l10 10 10-10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> <div class="arrow_up arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <path d="M14 28l10-10 10 10z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="cookiegroup accordion--item active" id="consent-3"> <div class="cookiegroup__head accordion--header"> <div class="cookiegroup__header"> <p>Podigee</p> </div> <div class="cookiegroup__description"> <p>Diese Zustimmung dient der Darstellung von externen Medien Inhalten, die über Podigee bereit gestellt werden.</p> </div> </div> <div class="dotted-line-bottom"></div> <div class="cookiegroup__providers accordion--body-outer"> <div class="frame"> <div class="frame-inner cookiegroup__purposes"> <div class="cookiegroup__purpose"> <input type="checkbox" id="provider-toggle-podigee" class="provider__checkbox js-consentmanager__toggleconsent" data-purposeid="podigee"/> <label for="provider-toggle-podigee" class="provider__label"> <span class="provider__icon"> <span class="provider__title provider__title_active"> <span class="provider__title_text"> Podigee aktivieren </span> </span> <span class="provider__title provider__title_inactive"> <span class="provider__title_text"> Podigee aktivieren </span> </span> </span> </label> <div class="row"> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="frame--close"> <p class="close"> <a href="#" data-close-overlay="consent-manager--consent" class="consent-manager--consent link--close link-marker" title="Close"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13"> <polyline class="arrow" fill="none" stroke="currentColor" points="1 1,6.5 6.5,12 1"></polyline> <polyline class="arrow" fill="none" stroke="currentColor" points="1 12,6.5 6.5,12 12"></polyline> </svg> </a> </p> <p class="save_close"> <a href="#" data-close-overlay="consent-manager--consent" class="link--accept link-button"> speichern </a> </p> </div> </div> </div> </div> </div> <script type="text/javascript">function ConsentHandler(defaultPurposes, config = {}) { this.defaultPurposes = defaultPurposes; // Initially set the config if given. this.config = config; // Sets the masterCookieName if not given in the configuration. if (typeof this.config.masterCookieName == "undefined") { this.config.masterCookieName = 'cookie_consent'; } // Sets the state local global variable according to the user settings. this.readCurrentState(); /* finde alle aktiven purposes und für jeden aus state für die gesetzten und hasConsent=true triggerEvents(purpose id, true) //evtl. auch für alle triggern, mit dem entsprechenden consent es wird auch für einträge mit default = true getriggert => die sind immer aktiv */ this.state.purposes.forEach((purpose) => { if (purpose.hasConsent) { this.triggerEvents(purpose.id, purpose.hasConsent); } }) } /* ### Mocked JSON START ### */ /* To generate new JSON: Just paste it into https://next.json-generator.com/ (you can modify it like you need to): [ { version: 1, list: [ { 'repeat(3, 3)': { id: '{{objectId()}}', title: 'purpose title', providers: { version: 1, provider: [ { 'repeat(3, 3)': { id: '{{objectId()}}', title: 'provider title', description: 'Description of the provider...', privacyUrl: 'https://www.google.de/', cookies: [ { 'repeat(3, 3)': { id: '{{objectId()}}', description: 'cookie description', lifetime: '', } } ], } }, ] }, description: '{{lorem(1, "paragraphs")}}', default: '{{bool()}}', mustConsent: '{{bool()}}', } } ], } ] */ /* ### Mocked JSON END ### */ /* ### Concept START ### */ /* Redmine Ticket and related tickets to this one: https://redmine/issues/23698 (AN3041) For reference evaluated consent managers: - oil.js (https://www.oiljs.org/) (not used as the template wasn't customizable) - klaro (https://github.com/KIProtect/klaro) (not used as it implements the complete react stack and has to be fully loaded to perform -> performance issues) This is a Consent Manager. The Consent Manager handles consents and dissents of cookies. BE: The business logic is implemented in vanilla js and rendered inline into the website. The consent Handler handles the accepting, refusing and loading of the different cookies and the related information. The information is split in purposes, providers, cookies and the masterCookie (documentation of those in the part "Prototype Definitions"). FE: The frontend just handles the rendering of the necessary components for the user: - consent manager (to set and unset purposes for the website) - list of accepted purposes The settings changed in the frontend are stored in the masterCookie which is done by the business logic (Consent Management). The different purposes, providers and cookies are set in a central point stored json file which is also rendered inline. So a simplified plain storyboard: 1. get all the purposes/providers/cookies from the inline json 2. set the minimum of consent which is necessary for the website 3. show the consent manager fe to the user if required 4. depending on what the user accepts and declines communicate with the business logic 5. business logic handles the given information and updates the masterCookie 6. and triggers events to run allowed code --- Dynamic data handling: Likewise implementation of oil.js (https://oil.axelspringer.com/release/1.3.5/docs/index.html#soft-blocking-of-dom-elements) To the resource which shall not be implemented before the consent was given, add a data-src attribute with the source url and the purpose. On element onload it checks if the consent for the purpose which belongs to the element was given. If yes then the data-src attribute will be copied in the src attribute. If not then nothing happens (can be implemented differently if wanted). --- @ToDos: - Implement before the consent manager is ready an object where you can globally push into and after the consent manager is implemented replace the array with an obj that also implements an push-Method where the subscribed event gets managed immediately. - ... */ /* ### Concept END ### */ /* ### Prototype Definitions START ### */ // List of the purposes incl. ongoing version number. ConsentHandler.prototype.purposes = { version: '1', list: [] }; // The purpose is the object which is shown in FE and accepted or declined with all its related providers. // A purpose defines which kind of functionality should be implemented and can be overridden in each website instance. // To regulate the frontend views the purposes are used. e.g. videos, tracking ConsentHandler.prototype.purpose = { id: 'identifier', // Should not be a number but a readable identifier. title: 'Header', // Header of the purpose e.g. Tracking (label next to checkbox) providers: [], // Array of providers. description: 'Description of the purpose...', // Descriptions of the purpose translations managed by TYPO3. default: true, // Defines the default state for applications (true=enabled by default). alwaysActive: false //defines if a cookie is always active => it is not changeable in consentmanager }; // List of the providers incl. ongoing version number. ConsentHandler.prototype.providers = { version: '1', list: [] }; // The provider provides information for a set of cookies and is set for one or multiple purposes. e.g. youtube, vimeo ConsentHandler.prototype.provider = { id: 'identifier', // Should not be a number but a readable identifier. title: 'Header', // Header of the provider e.g. datamints. description: 'Description of the provider...', // Descriptions of the provider translations managed by TYPO3., privacyUrl: '', // URL to the privacy settings of the company. cookies: [], // List of Cookies which are set. }; // Just the name of the cookies which are set with the provider. // The description is used from the purpose and the provider. ConsentHandler.prototype.cookie = { id: 'identifier', // Should not be a number but a readable identifier. description: 'Description ...', lifetime: '' // Lifetime of the cookie as string in days e.g. 15. }; // Sets the state of the purpose which is then (when hasConsent=true) persisted in the masterCookie. ConsentHandler.prototype.checkPurpose = { id: '', // Identifier of the purpose hasConsent: false, // Is accepted? per default false lastChanged: new Date(), // DateTime Obj generated by JS }; // Default definition of the management cookie which masterminds/persists the logic of cookies and consent. // json_encoded in cookie ConsentHandler.prototype.masterCookie = { checkedPurposes: [], // List of consentState version: '1', }; // Sets the consent state which is the basis for the consent persisted in the masterCookie ConsentHandler.prototype.consentState = { version: '1', purposes: [] // All purposes as a list. }; ConsentHandler.prototype.consentStatePurpose = { id: '', // Identifier of the purpose. wasAsked: false, hasConsent: false, lastChanged: null, }; /* ### Prototype Definitions END ### */ /* ### Methods implementation (right now NOT bc unnecessary: API write and read from states according to oil.js as they are some kind of standard conform) START ### */ // Actual state of the purposes which is locally stored and on change persisted in the masterCookie. ConsentHandler.prototype.state = ConsentHandler.prototype.consentState; // Registered Events for Consent-Manager (associative array of callbacks with key=purpose) ConsentHandler.prototype.registeredConsentManagerEvents = []; // State if the events already have been triggered. ConsentHandler.prototype.lastTriggered = {}; ConsentHandler.prototype.librariesLoaded = {}; // Checks the current state and registers all consented purposes and triggers the events. /** * Triggered when a use accepts or declines a purposes and changes the state then. * * @param id * @param consent */ ConsentHandler.prototype.changeConsent = function (id = '', consent = false) { /*state....id....wasAsked = true state....id....hasConsent = consent changedtime persistCurrentState(state) triggerevents(id, consent)*/ this.state.purposes.forEach((purpose) => { if (id === purpose.id) { purpose.wasAsked = true; purpose.hasConsent = consent; purpose.lastChanged = new Date(); } }); // Persist the current state to the masterCookie. this.persistCurrentState(this.state); this.triggerEvents([id], consent); }; /** * Persists the current state options into the masterCookie. * * @param currentState */ ConsentHandler.prototype.persistCurrentState = function (currentState = {}) { /* Concept of Method: create mastercookie from state => filte alle mit wasAsked = true => schreibe in mastercookie write mastercookie to cookies */ let masterCookie = JSON.parse(JSON.stringify(this.masterCookie)); // Just persist purposes which were already asked. let persistCheckedPurposes = []; currentState.purposes.forEach((purpose) => { let persistCheckedPurpose = {...this.checkPurpose}; if (purpose.wasAsked === true) { persistCheckedPurpose.id = purpose.id; persistCheckedPurpose.hasConsent = purpose.hasConsent; persistCheckedPurpose.lastChanged = purpose.lastChanged; persistCheckedPurposes.push(persistCheckedPurpose); } }); // Sets the checked purposes in the masterCookie. Unchecked/Unviewed purposes aren't shown. masterCookie.checkedPurposes = persistCheckedPurposes; // Set the version of the purposes for the masterCookie masterCookie.version = this.defaultPurposes.version; // Sets the masterCookie with the content JSON.stringified as klaro is implementing the cookie value in the same way. // Thats because effective 12/2019 there are just 4095 Bytes allowed for 1 Domain for the cumulative cookie size so thats a way to keep the cookie small-sized. this.setCookie(this.config.masterCookieName, JSON.stringify(masterCookie), this.config.cookieExpiresAfterDays || 120); }; /** * Returns nothing but loads all purposes into the local state and updates the consent-states according to the masterCookie (already set consents by the user). */ ConsentHandler.prototype.readCurrentState = function () { /* füge alle purposes zu state.purposes hinzu(mit wasAksed = false und hasConsent = default) lese masterCookie modifiziere state.purposes anhand der gesetzen cookies(wasAsked = true und hasconent = wie in cookie */ // Updates the version of the currentState. this.state.version = this.defaultPurposes.version; // Loads all purposes into state.purposes. let currentPurposes = []; // Loads the masterCookie purposes this.updateMasterCookieState(); // iterate through all purposes which are defined this.defaultPurposes.list.forEach((purpose) => { let currentStatePurpose = JSON.parse(JSON.stringify(this.consentStatePurpose)); currentStatePurpose.id = purpose.id; currentStatePurpose.hasConsent = purpose.default; // Check if wasAsked, hasConsent and lastChanged has to be adjusted to the already set values from the masterCookie Settings. for (let i = 0; i < this.masterCookie.checkedPurposes.length; i++) { let checkPurpose = this.masterCookie.checkedPurposes[i]; if (currentStatePurpose.id === checkPurpose.id) { //consents from cookie were always asked currentStatePurpose.wasAsked = true; currentStatePurpose.hasConsent = checkPurpose.hasConsent; currentStatePurpose.lastChanged = checkPurpose.lastChanged; } } if (purpose.alwaysActive) currentStatePurpose.hasConsent = true; currentPurposes.push(currentStatePurpose); }); // Set the state purposes after correctly loading them out of the global json definition and the already set user information. this.state.purposes = currentPurposes; }; /** * Returns the hasConsent-bool of the given id of the purpose. * * @param id * @returns {boolean} */ ConsentHandler.prototype.getConsent = function (id = '') { // lese aus state den eintrag mit der id id und gebe hasConsent zurück let result = false; this.state.purposes.forEach((purpose) => { if (id === purpose.id) { result = purpose.hasConsent; } }); return result; }; /** * Triggers all registered events which are given to the handler then. * * @param purposes */ ConsentHandler.prototype.triggerEvents = function (purposes = []) { // initial mit allen purposes getriggered // später dann nnur mit einer einzelnen wenn nötig // iterate durch registrierte handler datamintsCookieDocumentReady(function(){callback(staet.hasConsnt);})) this.state.purposes.forEach((purpose) => { // Get the current state of the purpose. let currentPurposeState = {}; currentPurposeState = purpose.hasConsent; //TODO: performanter! let events = []; if (typeof this.registeredConsentManagerEvents[purpose.id] != "undefined") { events = this.registeredConsentManagerEvents[purpose.id]; } var libraryLoaded = (typeof this.librariesLoaded[purpose.id]) !== "undefined" && this.librariesLoaded[purpose.id]; // Pass the current state of the purpose to the callback so it returns either true or false for the purpose consent. events.forEach((callback) => { this.datamintsCookieDocumentReady(function () { callback(currentPurposeState, libraryLoaded); }); }); // Write purpose to lastTriggered purpose list this.lastTriggered[purpose.id] = currentPurposeState; }); // key = id of the purpose; value = registered callbacks. }; /** * Registers the handler with a callback on the EventBus. * * @param purpose * @param callback */ ConsentHandler.prototype.registerHandler = function (purpose = '', callback) { // Liste an Handlern mit den callbacks das weiß wann was getriggered werden soll. -> in einem obj speichern. // callback true o false für ja consent nein consent // [purpose => [callbacks]] // Save the callback locally. if (typeof this.registeredConsentManagerEvents[purpose] == "undefined") { this.registeredConsentManagerEvents[purpose] = []; } this.registeredConsentManagerEvents[purpose].push(callback); var libraryLoaded = false; if ((typeof this.librariesLoaded[purpose]) !== "undefined") { libraryLoaded = this.librariesLoaded[purpose]; } // Check if the queue of registered events have already been triggered for the specific purpose. if (typeof this.lastTriggered[purpose] !== "undefined" && this.lastTriggered[purpose] === true) { this.datamintsCookieDocumentReady(function () { callback(true, libraryLoaded) }); } }; /** * Sets all purposes as consent = true. * UseCase: User clicks the accept-button in the cookie banner. */ ConsentHandler.prototype.acceptAllPurposes = function () { this.state.purposes.forEach((purpose) => { this.changeConsent(purpose.id, true); }); }; /** * Sets all purposes as consent = false. * UseCase: User clicks the decline-button in the cookie banner. */ ConsentHandler.prototype.declineAllPurposes = function () { this.state.purposes.forEach((purpose) => { this.changeConsent(purpose.id, false); }); }; /** * Checks if the Cookie Banner shall be shown or not. * Should be shown: * 1. on init * 2. when the version of the json has changed * * @returns {boolean} */ ConsentHandler.prototype.shouldBannerBeShown = function () { let shouldBannerBeShown = true; this.updateMasterCookieState(); if ( (typeof this.masterCookie !== "undefined" && this.masterCookie.checkedPurposes.length > 0) && parseInt(this.masterCookie.version) === parseInt(this.defaultPurposes.version) ) { shouldBannerBeShown = false; } return shouldBannerBeShown; }; /** * Updates the Master Cookie. */ ConsentHandler.prototype.updateMasterCookieState = function () { this.masterCookie = {...this.masterCookie, ...JSON.parse(this.getCookie(this.config.masterCookieName))}; }; /* ### Methods implementation END ### */ /* ### Document.ready implementation START ### */ /** * Implementation of a Document.ready Handler on which document.ready calls can be assigned. * The Listener checks if document.ready is already fired and instantly executes the registered Events then. * If document.ready hasn't been fired yet it just persists the registered Events and fires them at the document.ready call */ ConsentHandler.prototype.datamintsCookieDocumentReady = function (fn) { // see if DOM is already available if (document.readyState === 'complete' || document.readyState === 'interactive') { // call on next available tick //nochmal gewrapped, sonst gibt's js fehler setTimeout(function () { fn(); }, 1); } else { document.addEventListener('DOMContentLoaded', fn); } }; /* ### Document.ready implementation END ### */ /* ### Cookie Setter/Getter START ### */ /** * Returns all Cookies. * * @returns {[]} */ ConsentHandler.prototype.getCookies = function () { const cookieStrings = document.cookie.split(";"); const cookies = []; const regex = new RegExp('^\\s*([^=]+)\\s*\=\\s*(.*?)$'); for (let i = 0; i < cookieStrings.length; i++) { const cookieStr = cookieStrings[i]; const match = regex.exec(cookieStr); if (match === null) continue; cookies.push({ name: match[1], value: match[2], }) } return cookies; }; /** * Returns a specific Cookie if found by identifier = name. * * @param name * @returns {null|*} */ ConsentHandler.prototype.getCookie = function (name) { const cookies = this.getCookies(); for (let i = 0; i < cookies.length; i++) { if (cookies[i].name === name) return cookies[i].value; } return null; }; /** * Set a Cookie by name, value and lifetime. * Likewise implemented https://stackoverflow.com/questions/14573223/set-cookie-and-get-cookie-with-javascript * * @param name * @param value * @param days */ ConsentHandler.prototype.setCookie = function (name, value, days) { let expires = ""; if (days) { let date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; }; /** * Delete a Cookie. * * @param name * @param path * @param domain */ ConsentHandler.prototype.deleteCookie = function (name, path, domain) { let str = name + '=; Max-Age=-99999999;'; // try to delete the cookie without any path and domain document.cookie = str; if (path !== undefined) str += ' path=' + path + ';'; // try to delete the cookie with path document.cookie = str; if (domain !== undefined) str += ' domain=' + domain + ';'; // try to delete the cookie with domain and path document.cookie = str; }; /** * stezt die info, ob eine lib geladen ist, feuert das zugehörige event nochmals. * wird i.d.R von script.onload aufgerufen, wenn js file geladen ist. * @param purpose */ ConsentHandler.prototype.libraryLoaded = function (purpose) { this.librariesLoaded[purpose] = true; this.triggerEvents([purpose]); }; window.ConsentHandler = ConsentHandler; var config={ "version": 1, "groups": [ { "id": "1", "title": "Website-Analyse-Cookies von Matomo", "description": "Analyse-Cookies erfassen Informationen anonymisiert. Diese Informationen helfen uns zu verstehen, wie unsere Besucher unsere Website nutzen. Wir verwenden für Tracking und Analyse die Software Matomo.", "purposes": ["matomo"] }, { "id": "2", "title": "YouTube-Cookies", "description": "Diese Cookies dienen der Darstellung von externen Medien Inhalten, die über YouTube bereit gestellt werden.", "purposes": ["iframes"] }, { "id": "3", "title": "Podigee", "description": "Diese Zustimmung dient der Darstellung von externen Medien Inhalten, die über Podigee bereit gestellt werden.", "purposes": ["podigee"] } ], "list": [ { "id": "matomo", "title": "Matomo-Cookies", "description": "Diese Cookies werden vom Web-Analyse-Werkzeug Matomo zur Erfassung und Analyse des Nutzungsverhalten auf unserer Website zur Verbesserung der Website eingesetzt.", "providers": { "version": 1, "provider": [ { "id": "matomo", "title": "Matomo", "company": "Matomo", "description": "Matomo", "privacyUrl": "https://matomo.org/privacy-policy/", "cookies": [ { "id": "1", "title": "_pk_id", "description": "Dieser Cookie enthält eine eindeutige jedoch anonymisiert Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.\nDie _pk_id ist eine ID die erlaubt zu überprüfen, welche Routen der Website-Besucher geklickt hat. Dafür wird ein generierter Identifier verwendet. Anhand dieser ID können http Requests zueinander verknüpft und entsprechende Statistiken über z. B. die Anzahl der Besuche, durchschnittliche Verweildauer eines Nutzers auf der Website und gelesene Seiten erzeugt werden.", "lifetime": "13 Monate", "type": "HTTP" }, { "id": "2", "title": "_pk_ref", "description": "Wird verwendet um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website oder Unterseiten gekommen ist. Die Speicherung der jeweiligen URL erfolgt als String, welche den Referer, also die Website von der die jeweilige Seite aufgerufen wurde, in einem Cookie angibt um daraus entsprechende Statistiken erstellen und analysieren zu können.", "lifetime": "6 Monate", "type": "HTTP" }, { "id": "3", "title": "_pk_ses", "description": "Das Session Cookie von Matomo wird verwendet um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen. Das Cookie wird nach dem Ablauf jeder Sitzung (Website-Besuch), spätestens nach einem Tag automatisch gelöscht. Ein Personenbezug ist über dieses Cookie nicht herstellbar. Die Cookies werden für Zwecke der Erstellung von nicht unmittelbar personenbezogenen Nutzerstatistiken verwendet (pseudonyme Nutzungsprofile).", "lifetime": "1 Tag.", "type": "HTTP" }, { "id": "4", "title": "_pk_testcookie", "description": "Ein von Matomo angelegtes Testcookie um zu überprüfen, ob die Cookie-Funktionalität und Cookie-Einstellungen der Website und die Zugriffseinstellungen für Matomo richtig gesetzt sind.", "lifetime": "Session", "type": "HTTP" }, { "id": "5", "title": "spamshield", "description": "Session Cookie für Anti Spam genutzt (technischer Cookie).", "lifetime": "Session", "type": "HTTP" }, { "id": "5", "title": "cookie_consent", "description": "Dieser Cookie ist zur Speicherung Ihrer Einwilligung und gegebenenfalls Ihrer individuellen Auswahl für den Einsatz von Cookies auf Ihrem Endgerät unbedingt erforderlich, um bei einem erneuten Aufruf der Website festzustellen, ob Sie bereits eine Einwilligung erteilt haben.", "lifetime": "Session", "type": "HTTP" } ] } ] }, "default": false, "alwaysActive": false }, { "id": "iframes", "title": "YouTube-Cookies", "description": "Diese Cookies dienen der Darstellung von externen Medien Inhalten, die über YouTube bereit gestellt werden.", "providers": { "version": 2, "provider": [ { "id": "youtube", "title": "Youtube", "company": "Youtube", "description": "Diese Cookies sind für die Darstellung von Youtube-Inhalten notwendig.", "privacyUrl": "https://policies.google.com/privacy?hl=de-DE", "cookies": [ { "id": "1", "title": "VISITOR_INFO1_LIVE", "description": "Versucht, die Benutzerbandbreite auf Seiten mit integrierten YouTube-Videos zu schätzen.", "lifetime": "179 Tage", "type": "HTTP" }, { "id": "2", "title": "YSC", "description": "Registriert eine eindeutige ID, um Statistiken der Videos von YouTube, die der Benutzer gesehen hat, zu behalten.", "lifetime": "Session", "type": "HTTP" }, { "id": "3", "title": "IDE", "description": "Diese Cookies verfolgen, wie Sie unsere Website nutzen, um Ihnen Werbung zu zeigen, die für Sie interessant sein könnte.", "lifetime": "18 Monate", "type": "HTTP" }, { "id": "4", "title": "DSID", "description": "Diese Cookies verfolgen, wie Sie unsere Website nutzen, um Ihnen Werbung zu zeigen, die für Sie interessant sein könnte.", "lifetime": "18 Monate", "type": "HTTP" }, { "id": "5", "title": "CONSENT", "description": "Diese Cookies verfolgen, wie Sie unsere Website nutzen, um Ihnen Werbung zu zeigen, die für Sie interessant sein könnte.", "lifetime": "Max 2 Jahre", "type": "HTTP" } ] } ] } }, { "id": "podigee", "title": "Podigee", "description": "Diese Zustimmung dient der Darstellung von externen Medien Inhalten, die über Podigee bereit gestellt werden.", "providers": { "version": 1, "provider": [ { "id": "podigee", "title": "Podigee", "company": "Podigee", "description": "Diese Cookies sind für die Darstellung von Youtube-Inhalten notwendig.", "privacyUrl": "https://policies.google.com/privacy?hl=de-DE", "cookies": [] } ] } } ] } ; var cm=new ConsentHandler(config); /* Banner.js Checks if the Cookie Banner should be shown and manages the visibility of the cookie banner. Also registers the decline and accept events for the cookie banner. */ (function () { function CookieBanner() { /* 1. consentmanager fragen ob banner angezeigt werden soll 2. registriere events auf accept/decline (class in div -> a) 3. A-Tags mti eventhandler registrieren (von cm) 4. if click -> ausblenden */ var doNotTrack = false; if (cm.config.respectDNTSettingInBrowser == '1') { doNotTrack = window.doNotTrack == '1' || navigator.doNotTrack == 'yes' || navigator.doNotTrack == '1' || navigator.msDoNotTrack == '1' || window.external.msTrackingProtectionEnabled && window.external.msTrackingProtectionEnabled(); } if (cm.shouldBannerBeShown() && !doNotTrack) { let cookieBanner = document.getElementById('cookiebanner'); let cookieBannerBody = document.getElementById('cookiebanner-body'); var finisherEvent = function (e) { e.preventDefault(); //// Fade out instead of disable cookieBanner.classList.add('cookiebanner--off'); return false; }; if (cookieBanner) { cookieBanner.classList.add('cookiebar--show'); let cookiebanner__consent_accept = cookieBanner.querySelector('.cookiebanner__consent-accept > a'); if (cookiebanner__consent_accept) { cookiebanner__consent_accept.addEventListener('click', (e) => { cm.acceptAllPurposes(); return finisherEvent(e); }); } let save_close = cookieBannerBody.querySelector('.save_close > a'); if (save_close) { save_close.addEventListener('click', (e) => { var checkboxes = document.querySelectorAll("[id^='provider-toggle-']"); let everythingHasBeenAccepted = true; checkboxes.forEach( function( checkbox ) { if( !checkbox.checked ) everythingHasBeenAccepted = false; }); if( !everythingHasBeenAccepted ) window.cm.config.cookieExpiresAfterDays = window.cm.config.cookieDeclineExpiresAfterDays; checkboxes.forEach( function( checkbox ) { let purposeId = checkbox.getAttribute("data-purposeid"); cm.changeConsent(purposeId, checkbox.checked); }); return finisherEvent(e); }); } let cookiebanner__consent_decline = cookieBanner.querySelector('.cookiebanner__consent-decline > a'); if (cookiebanner__consent_decline) { cookiebanner__consent_decline.addEventListener('click', (e) => { window.cm.config.cookieExpiresAfterDays = window.cm.config.cookieDeclineExpiresAfterDays; cm.declineAllPurposes(); return finisherEvent(e); }); } } } } document.addEventListener('DOMContentLoaded', CookieBanner); })(); !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t){document.addEventListener("DOMContentLoaded",(function(){if(window.cm)for(var e=document.querySelectorAll("*[data-purpose]"),t=function(t){var r=e[t],n=r.getAttribute("data-purpose")+"";n&&(r.getAttribute("data-library")&&(r.onload=function(){cm.libraryLoaded(n)}),cm.registerHandler(n,(function(e){e&&[].filter.call(r.attributes,(function(e){return/^data-/.test(e.name)})).forEach((function(e,t){var n=e.name.replace(/^data-/,"");"purpose"!==n&&"library"!==n?r.setAttribute(n,e.nodeValue):r.removeAttribute(e.name)}))})))},r=0;r<e.length;r++)t(r)}))}]);</script> <script src="/typo3temp/compressor/merged-75c69095df8b22a79e5491a72665d112-ff160acb38b3eabe4a0ab0d983735130.js?1705906880" type="text/javascript"></script> <script src="https://network.bio-m.org/ui2/it/widgets/load-external-widget.js" type="text/javascript"></script> <script src="/typo3temp/compressor/merged-94c6596e52dc83f23078fc70e86b5502-06e70505b878200622a3b9ab4d1c9aea.js?1642599814" type="text/javascript"></script> <script type="text/javascript"> var _paq = _paq || []; _paq.push(['requireConsent']); _paq.push(['trackPageView']); _paq.push(['trackAllContentImpressions']); _paq.push(['enableLinkTracking']); if (window.cm) { window.cm.registerHandler('matomo', function (enabled) { if (enabled) { _paq.push(['setConsentGiven']); } }); } (function () { var u = "https://report.datamints.com/biom/"; _paq.push(['setTrackerUrl', u + 'piwik.php']); var idsite = "93841"; _paq.push(['setSiteId', idsite]); var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0]; g.type = 'text/javascript'; g.async = true; g.defer = true; g.src = u + 'js/'; s.parentNode.insertBefore(g, s); })(); </script> </body> </html>