{"id":653594,"date":"2026-04-03T12:00:47","date_gmt":"2026-04-03T10:00:47","guid":{"rendered":"https:\/\/es.exxpress.at\/?p=653594"},"modified":"2026-04-03T11:38:53","modified_gmt":"2026-04-03T09:38:53","slug":"cyber-alarm-in-bruessel-eu-von-hacker-welle-erschuettert","status":"publish","type":"post","link":"https:\/\/es.exxpress.at\/news\/cyber-alarm-in-bruessel-eu-von-hacker-welle-erschuettert\/","title":{"rendered":"Cyber-Alarm in Br\u00fcssel! EU von Hacker-Welle ersch\u00fcttert"},"content":{"rendered":"<section class=\"wpb-content-wrapper\"><p>[vc_row][vc_column width=&#8221;1\/6&#8243;]\n        <span class=\"article-tag\">\n            News\n        <\/span>\n    [\/vc_column][vc_column width=&#8221;1\/2&#8243;]<h1 id=\"nativendo-title\" style=\"text-align: left\" class=\"vc_custom_heading article-heading\">Cyber-Alarm in Br\u00fcssel! EU von Hacker-Welle ersch\u00fcttert<\/h1>[vc_column_text el_class=&#8221;article-subheading&#8221;]Selbst sichere Messenger nicht mehr sicher: EU-Beamte geraten ins Visier von Hackern, geheime Chats k\u00f6nnten kompromittiert sein. Sicherheitsdienste warnen vor gro\u00df angelegter Spionagekampagne mit gezielten T\u00e4uschungsman\u00f6vern.[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/3&#8243;][\/vc_column][\/vc_row][vc_row el_class=&#8221;article-main-content&#8221;][vc_column width=&#8221;1\/6&#8243;]\n        <div class=\"author-box\">\n            <span class=\"author\">Redaktion<\/span>\n            <time datetime=\"2026-04-03T12:00:47+02:00\">03.04.2026 12:00<\/time>\n        <\/div>\n            <div class=\"share-box\">\n            <a href=\"https:\/\/x.com\/intent\/tweet?url=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F653594\" target=\"blank\" class=\"share-icon share-circle-icon share-twitter\"><?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 300 300\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n <path d=\"M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66\"\/>\n<\/svg><\/a>\n            <a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?href=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F653594&u=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F653594\" target=\"blank\" class=\"share-icon share-circle-icon share-facebook\"><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-\/\/W3C\/\/DTD SVG 1.1\/\/EN\" \"http:\/\/www.w3.org\/Graphics\/SVG\/1.1\/DTD\/svg11.dtd\">\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 28 28\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xml:space=\"preserve\" xmlns:serif=\"http:\/\/www.serif.com\/\" style=\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;\">\n    <g transform=\"matrix(1,0,0,1,-12,-11)\">\n        <path d=\"M31,11.2C30.3,11.1 29.7,11 29,11C28.2,10.9 27.3,10.9 26.5,11.1C25.5,11.3 24.6,11.8 23.8,12.7C23.2,13.4 22.8,14.3 22.5,15.2C22.3,15.9 22.3,16.5 22.3,17.2L22.3,21L18.4,21L18.4,25.7L22.4,25.7L22.4,38.6L27.2,38.6L27.2,25.7L30.7,25.7C30.9,24.1 31.1,22.6 31.4,21L27.4,21L27.4,20.8L27.4,17.8C27.4,17.5 27.4,17.2 27.5,16.9C27.7,16 28.3,15.5 29.1,15.3C29.4,15.2 29.7,15.2 30,15.2L31.8,15.2L31.8,11.2C31.3,11.3 31.1,11.2 31,11.2Z\" style=\"fill-rule:nonzero;\"\/>\n    <\/g>\n<\/svg>\n<\/a>\n            <a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F653594\" target=\"blank\" class=\"share-icon share-circle-icon share-linkedin\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 160h114.496v352H0zM426.368 164.128c-1.216-.384-2.368-.8-3.648-1.152a74.218 74.218 0 00-4.64-.896c-6.08-1.216-12.736-2.08-20.544-2.08-66.752 0-109.088 48.544-123.04 67.296V160H160v352h114.496V320s86.528-120.512 123.04-32v224H512V274.464c0-53.184-36.448-97.504-85.632-110.336z\"\/><circle cx=\"56\" cy=\"56\" r=\"56\"\/><\/svg><\/a>\n            <div class=\"mobile-splitter\"><\/div>\n            <a href=\"mailto:?subject=Exxpress: Cyber-Alarm in Br\u00fcssel! EU von Hacker-Welle ersch\u00fcttert&body=https%3A%2F%2Fes.exxpress.at%2Fapi%2Fwp%2Fv2%2Fposts%2F653594\" target=\"blank\" class=\"share-icon share-mail\"><?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<svg version=\"1.1\" id=\"Ebene_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 50 50\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n<g>\n\t<path d=\"M1.2,7.7C0.8,8.1,0.6,8.6,0.6,9.1v31.3c0,0.6,0.2,1.1,0.7,1.4c0.4,0.4,0.8,0.6,1.3,0.6h45c0.5,0,1-0.2,1.3-0.6\n\t\ts0.6-0.9,0.6-1.4V9.1c0-0.5-0.2-0.9-0.6-1.4c-0.4-0.4-0.8-0.6-1.3-0.6h-45C2,7.1,1.6,7.3,1.2,7.7z M4.3,13.8l13,11.3l-13,11.6V13.8\n\t\tz M7.5,11.7h34.9L24.9,27.1L7.5,11.7z M8,38.6l12.2-11.1l3.5,3.3l2.4,0.1l3.8-3.4L42,38.6H8z M45.8,36.7l-13-11.6l13-11.3V36.7z\"\/>\n<\/g>\n<\/svg>\n<\/a>\n            \n        <\/div>\n    [\/vc_column][vc_column width=&#8221;1\/2&#8243; el_class=&#8221;article-body&#8221;]\n            <div class=\"featured-image-box\">\n                <a href=\"https:\/\/es.exxpress.at\/media\/2026\/04\/pleite-88.jpg\" data-featherlight=\"image\">\n                    <img decoding=\"async\" class=\"attachment-article_featured_image size-article_featured_image wp-post-image\" src=\"https:\/\/es.exxpress.at\/media\/2026\/04\/pleite-88.jpg\" srcset=\"https:\/\/es.exxpress.at\/media\/2026\/04\/pleite-88.jpg 2x\">\n                <\/a>\n                <span class=\"tagline\"><span class=\"credits\" style=\"padding-left: 0\">exxpress\/Redaktion<\/span><\/span>\n            <\/div>\n        [vc_column_text]In Br\u00fcssel schrillen die Alarmglocken: Die EU steckt mitten in einer massiven Cyber-Krise. Wie \u201ePolitico\u201c berichtet, wurden in den vergangenen Monaten mehrere IT-Systeme sowie Smartphones von EU-Beamten Ziel koordinierter Hackerangriffe.[\/vc_column_text]<h2 style=\"text-align: left\" class=\"vc_custom_heading running-header\">Hacker zielen auf vertrauliche EU-Chats<\/h2>[vc_column_text]<\/p>\n<p class=\"isSelectedEnd\">Besonders brisant: Selbst vermeintlich sichere Kommunikationskan\u00e4le sind betroffen. Laut dem Bericht mussten hochrangige EU-Funktion\u00e4re sogar eine Signal-Chatgruppe schlie\u00dfen \u2013 aus Angst, sie k\u00f6nnte kompromittiert worden sein. Sicherheitsdienste warnen sogar vor einer gro\u00df angelegten Spionagekampagne, bei der sich Angreifer als Support ausgeben, um Zugriff auf Accounts zu bekommen.<\/p>\n<p class=\"isSelectedEnd\">Mindestens zwei best\u00e4tigte Angriffe ersch\u00fcttern die EU-Kommission: Ende M\u00e4rz wurde die Cloud-Infrastruktur rund um die Website \u201eeuropa.eu\u201c gehackt. Dabei sollen sensible Daten wie Namen, E-Mail-Adressen und sogar Inhalte gestohlen worden sein. Bereits im J\u00e4nner gab es zudem Hinweise auf einen Angriff auf ein internes System zur Verwaltung von Diensthandys -\u2013 betroffen k\u00f6nnten Kontaktdaten von Mitarbeitern sein.<\/p>\n<p>Auch technisch brisant: Sicherheitsl\u00fccken in weit verbreiteter Verwaltungssoftware sollen von Hackern gezielt ausgenutzt worden sein. Mehrere europ\u00e4ische Staaten meldeten \u00e4hnliche Angriffe auf Beh\u00f6rden.<\/p>\n<p class=\"isSelectedEnd\">Wer steckt dahinter? Bei einer gro\u00df angelegten Kampagne gegen Messenger-Dienste vermuten Geheimdienste den Kreml. Hacker sollen sich als Support-Dienst ausgegeben haben, um Zugriff auf Accounts zu bekommen. Gleichzeitig wird f\u00fcr den Cloud-Hack eine bekannte Cybercrime-Gruppe verantwortlich gemacht: \u201eShinyHunters\u201c soll laut EU-Cybersicherheitsbeh\u00f6rde riesige Datenmengen im Darknet ver\u00f6ffentlicht haben.<\/p>\n<p>Die EU h\u00e4lt sich bedeckt, Details bleiben rar. Klar ist aber: Die Angriffe zeigen massive Sicherheitsl\u00fccken \u2013 und setzen Europas Institutionen zunehmend unter Druck.[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/3&#8243;]<div class=\"ad-container\"><div id=\"adnz_rectangle_1\" style=\"padding-top: 0;\"><\/div><\/div><div class=\"ad-container sticky\" style=\"padding-top: 0;\"><div id=\"adnz_halfpage_2\"><\/div><\/div>[\/vc_column][\/vc_row][vc_row][vc_column width=&#8221;1\/6&#8243;][\/vc_column][vc_column width=&#8221;5\/6&#8243;]<div class=\"footer-hook\"><div class=\"move-to-article\">  <details class=\"mollie-donation-modal\" open>\n    <summary>Dein Beitrag z\u00e4hlt \u2013 jetzt spenden!<\/summary>\n    <div class=\"mollie-donation-backdrop\" onclick=\"var modal = document.querySelector('.mollie-donation-modal'); modal.removeAttribute('data-modal-opened')\"><\/div>\n    <div class=\"mollie-donation-form-holder\" id=\"donation\">\n      <div class=\"mollie-donation-close-button\" onclick=\"var modal = document.querySelector('.mollie-donation-modal'); modal.removeAttribute('data-modal-opened')\"><\/div>\n      <p style=\"padding: 0 30px; line-height: 1.3;\">Mit deinem Beitrag schaffen wir Raum f\u00fcr Journalismus, der einordnet, hinterfragt und sichtbar macht, was wirklich z\u00e4hlt.<\/p>\n      <form class=\"mollie-donation\">\n          <div style=\"display: flex; justify-content: center;\">\n            <div class=\"donate-type-btn-holder\">\n                <button type=\"button\" class=\"donate-select-btn\" value=\"onetime\">Einmalig<\/button>\n                <button type=\"button\" class=\"donate-select-btn selected\" value=\"monthly\">Monatlich<\/button>\n                <button type=\"button\" class=\"donate-select-btn\" value=\"yearly\">J\u00e4hrlich<\/button>\n            <\/div>\n          <\/div>\n          <input type=\"email\" name=\"mail\" placeholder=\"E-Mail Adresse*\" required\/>\n          <div class=\"donate-btn-holder\">\n              <button type=\"button\" class=\"donate-select-btn\" value=\"10\">10\u20ac<\/button>\n              <button type=\"button\" class=\"donate-select-btn selected\" value=\"20\">20\u20ac<\/button>\n              <button type=\"button\" class=\"donate-select-btn\" value=\"100\">100\u20ac<\/button>\n              <div class=\"flex-break\"><\/div>\n              <button type=\"button\" class=\"donate-select-btn\" value=\"free\">Anderer Betrag<\/button>\n          <\/div>\n          <input class=\"hidden\" type=\"number\" min=\"2\" step=\"1\" value=\"20\" required\/>\n          <label class=\"checkbox-label hidden privacy-label\">\n              <input type=\"checkbox\" name=\"privacy\" required\/>\n              Ich akzeptiere die <a href=\"https:\/\/es.exxpress.at\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzvereinbarung<\/a>.*\n          <\/label>\n          <label class=\"checkbox-label hidden newsletter-label\">\n              <input type=\"checkbox\" name=\"newsletter\"\/>\n              Bitte halte mich auf dem Laufenden. Ich m\u00f6chte den Newsletter erhalten.\n          <\/label>\n          <a target=\"_blank\" class=\"disabled\" href=\"\" type=\"button\">Dein Beitrag z\u00e4hlt \u2013 jetzt spenden!<\/a>\n      <\/form>\n    <\/div>\n  <\/details>\n          <style>\ndetails.mollie-donation-modal summary {\n  --background: var(--category_bg_color);\n  --border-color: var(--category_bg_color);\n  --color: var(--category_tertiary_color);\n\n  --hover-background: var(--category_tertiary_color);\n  --hover-color: var(--category_bg_color);\n\n  margin: calc(var(--gutter-width-bottom)) auto;\n  transition: background-color 300ms, color 300ms;\n  border: 2px solid var(--border-color);\n  background: var(--background);\n  color: var(--color);\n  padding: 0.5em 1em;\n  font-size: 1em;\n  font-family: Blacker Sans Text;\n  font-weight: 900;\n  text-decoration: none;\n  display: inline-block;\n  cursor: pointer;\n  width: max-content;\n  display: block;\n}\ndetails.mollie-donation-modal summary:hover,\ndetails.mollie-donation-modal[open] summary {\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\ndetails.mollie-donation-modal[data-modal-opened] {\n\n}\ndetails.mollie-donation-modal[data-modal-opened] summary {\n  display: none;\n}\n.mollie-donation-form-holder {\n  --don-bg-color: #fffbf8;\n  --don-border-color: #5e2c4f;\n  --don-color: rgb(26, 25, 25);\n  border: 2px solid var(--don-border-color);\n  background: var(--don-bg-color);\n  color: var(--don-color);\n  padding: 10px 15px;\n  margin-bottom: 15px;\n  position: relative;\n}\n.mollie-donation-form-holder h3 {\n  font-size: 18px;\n  text-align: center;\n  font-weight: bold;\n  margin-top: 5px;\n  margin-bottom: 10px;\n}\n.mollie-donation-form-holder p {\n  max-width: 455px;\n  text-align: center;\n  margin: 0 auto;\n  margin-bottom: 10px;\n}\nform.mollie-donation {\n  max-width: 100%;\n  margin: 0 auto;\n  text-align: center;\n}\nform.mollie-donation input[type=\"checkbox\"] {\n    font-size: 16px;\n}\nform.mollie-donation input[type=\"number\"],\nform.mollie-donation input[type=\"email\"],\nform.mollie-donation select {\n  font-family: 'Blacker Sans';\n  width: 190px;\n  border: none;\n  outline: none;\n  padding: 4px 8px;\n  background: white;\n  font-size: 18px;\n  text-align: center;\n  margin: 0 auto;\n  display: block;\n  border-bottom: 2px solid var(--don-border-color);\n}\nform.mollie-donation .donate-btn-holder {\n  display: flex;\n  flex-direction: row;\n  justify-content: center;\n  flex-wrap: wrap;\n  padding: var(--gutter-width-bottom);\n  max-width: 360px;\n  margin: 0 auto;\n}\nform.mollie-donation .donate-btn-holder .flex-break {\n  min-width: 100%;\n  height: 0px; max-height: 0px; margin: 0; padding: 0;\n}\nform.mollie-donation .donate-btn-holder button {\n  font-size: 16px;\n  border-width: 1px;\n  margin: calc(var(--gutter-width-bottom) \/ 4) calc(var(--gutter-width) \/ 4);\n}\nform.mollie-donation .donate-btn-holder button.selected {\n  cursor: pointer;\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\nform.mollie-donation .donate-type-btn-holder {\n  display: flex;\n  flex-direction: row;\n  justify-content: center;\n  flex-wrap: wrap;\n  padding: var(--gutter-width-bottom);\n  margin-top: 10px;\n  gap: 1px;\n  padding: 1px;\n  background-color: var(--don-border-color);\n}\nform.mollie-donation .donate-type-btn-holder button {\n  font-size: 14px;\n  margin: 0;\n  border: none;\n  background-color: var(--don-bg-color);\n}\nform.mollie-donation .donate-type-btn-holder button.selected {\n  cursor: pointer;\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\nform.mollie-donation input[type=\"email\"] {\n  width: 100%;\n  max-width: 320px;\n  margin-top: 20px;\n}\nform.mollie-donation select {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nform.mollie-donation input[type=\"number\"] {\n  width: 100px;\n  margin-bottom: var(--gutter-width-bottom);\n  margin-top: calc(var(--gutter-width-bottom) * -1);\n}\nform.mollie-donation input[type=\"number\"] ~ small.num-input-error {\n    display: block;\n    margin-top: calc(var(--gutter-width-bottom) * -1);\n    margin-bottom: var(--gutter-width-bottom);\n    color: red;\n}\nform.mollie-donation input[type=\"number\"].hidden {\n  display: none;\n}\nform.mollie-donation button, form.mollie-donation a[type=\"button\"] {\n  margin: 0 auto;\n  display: block;\n  --border-color: var(--don-border-color);\n  --hover-background: #5e2c4f;\n  --color: var(--don-color);\n  --hover-color: #e0d2d8;\n  transition: background-color 300ms, color 300ms;\n  border: 1px solid var(--border-color);\n  background: var(--background);\n  color: var(--color);\n  padding: .3em 1em;\n  padding-bottom: .37em;\n  font-size: 1em;\n  font-family: Blacker Sans Text;\n  font-weight: 900;\n  text-decoration: none;\n  margin-bottom: 10px;\n}\nform.mollie-donation a[type=\"button\"] {\n    --border-color: white;\n    --hover-background: white;\n    --color: white;\n    --hover-color: #c03;\n    background: #c03;\n}\nform.mollie-donation a[type=\"button\"] {\n    display: inline-block;\n}\nform.mollie-donation button.disabled, form.mollie-donation a[type=\"button\"].disabled {\n    opacity: 0.5;\n}\nform.mollie-donation .checkbox-label:not(.hidden) ~ button,\nform.mollie-donation .checkbox-label:not(.hidden) ~ a[type=\"button\"] {\n    margin-top: var(--gutter-width-bottom);\n}\nform.mollie-donation button:disabled {\n  opacity: 0.5;\n}\nform.mollie-donation button:hover,\nform.mollie-donation a[type=\"button\"]:not(.disabled):hover {\n  cursor: pointer;\n  background: var(--hover-background);\n  color: var(--hover-color);\n}\nform.mollie-donation .checkbox-label {\n  display: block;\n  margin-bottom: 3px;\n  text-align: center;\n}\nform.mollie-donation .checkbox-label a {\n  color: inherit;\n}\nform.mollie-donation .checkbox-label.hidden {\n  display: none;\n}\n.mollie-donation-modal {\n  display: block;\n}\n.mollie-donation-modal[data-modal-opened] {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: rgba(255,255,255,0.7);\n  z-index: 10000;\n  -webkit-transition: opacity 0.5s ease-in-out;\n  -moz-transition: opacity 0.5s ease-in-out;\n  -ms-transition: opacity 0.5s ease-in-out;\n  -o-transition: opacity 0.5s ease-in-out;\n  transition: opacity 0.5s ease-in-out;\n}\n.mollie-donation-backdrop {\n  display: block;\n}\n.mollie-donation-modal[data-modal-opened] .mollie-donation-form-holder {\n  margin: 10px;\n  width: max-content;\n  position: absolute;\n  right: 50%;\n  bottom: 50%;\n  transform: translate(50%, 50%);\n}\n.mollie-donation-modal[data-modal-opened] .mollie-donation-backdrop {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n}\n.mollie-donation-close-button {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  cursor: pointer;\n  width: 20px;\n  height: 20px;\n  display: flex;\n  align-self: center;\n  justify-content: center;\n  display: none;\n}\n.mollie-donation-modal[data-modal-opened] .mollie-donation-close-button {\n  display: flex;\n}\n.mollie-donation-close-button::after {\n  content: \"\";\n  display: block;\n  width: 2px;\n  height: 20px;\n  background-color: #333;\n  transform: rotate(45deg);\n  position: absolute;\n  top: 0;\n  left: 9px;\n}\n.mollie-donation-close-button::before {\n  content: \"\";\n  display: block;\n  width: 2px;\n  height: 20px;\n  background-color: #333;\n  transform: rotate(-45deg);\n}\n\n\/* Modal open *\/\ndetails.mollie-donation-modal > summary{\n  list-style: none;\n  pointer-events: none;\n  cursor: default;\n  display:none;\n}\ndetails.mollie-donation-modal > summary::-webkit-details-marker{\n  display: none;\n}\n\n.mollie-donation-backdrop,\n.mollie-donation-close-button{\n  display: none !important;\n}\n\ndetails.mollie-donation-modal[data-modal-opened]{\n  position: static;\n  width: auto;\n  height: auto;\n  background: none;\n  display: block;            \n}\n        <\/style>\n    \n          <script>\n          window.addEventListener('load', () => {\n            (($) => {\n                $(() => {\n                    const loadingSpinner = `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" style=\"margin: auto; background: none; display: block; shape-rendering: auto;width: 30px;height: 30px;padding-top: 3px;margin-bottom: 3px;\" width=\"48px\" height=\"48px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\"><circle cx=\"50\" cy=\"50\" fill=\"none\" stroke=\"var(--category_tertiary_color)\" style=\"stroke: var(--category_tertiary_color)\" r=\"40\" stroke-dasharray=\"188.49555921538757 64.83185307179586\" stroke-width=\"11\"><animateTransform attributeName=\"transform\" type=\"rotate\" repeatCount=\"indefinite\" dur=\"1s\" values=\"0 50 50;360 50 50\" keyTimes=\"0;1\"><\/animateTransform><\/circle><\/svg>`;\n                    jQuery('.mollie-donation-modal:not(:eq(0))').remove();\n\n                    $( document ).ready(function() {\n                      var mdf = localStorage.getItem(\"mollie-donation-form\");\n                      if(mdf === null) {\n                        setTimeout(function() {\n                          \/\/ $(\".mollie-donation-modal\").attr(\"data-modal-opened\", \"\");\n                          \/\/ $(\".mollie-donation-modal\").attr(\"open\", \"\");\n                          localStorage.setItem(\"mollie-donation-form\", true);\n                        }, 2000);\n                      }\n                    });\n\n                    const $form = $('form.mollie-donation');\n                    if ($form.length > 0) {\n                        const $numInput = $form.find('input[type=\"number\"]')\n                        const default_value = 10;\n    \n                        $form.find('.donate-btn-holder button').removeClass('selected');\n                        $form.find('.donate-btn-holder button[value=\"' + default_value + '\"]').addClass('selected');\n                        $numInput.val(default_value);\n                        $form.find('input[type=\"email\"]').val('')\n                        $form.find('.checkbox-label input').prop('checked', false);\n    \n                        $form.find('input[type=\"email\"]').on('input', e => {\n                            if (e.delegateTarget.checkValidity()) {\n                                $form.find('.privacy-label').removeClass('hidden');\n                            }\n                        })\n    \n                        $form.find('.privacy-label input').on('change', e => {\n                            $form.find('.newsletter-label').removeClass('hidden');\n                        })\n    \n                        const removeNumInputError = (msg) => {\n                            $form.find('.num-input-error').remove();\n                        }\n                        const addNumInputError = (msg) => {\n                            removeNumInputError();\n                            $numInput.after(`<small class=\"num-input-error\">${msg}<\/small>`);\n                        }\n                        $numInput.on('change', e => {\n                            removeNumInputError();\n                            const $target = $(e.delegateTarget);\n                            const newValue = $target.val();\n                            if(Number.parseInt(newValue).toString() !== newValue) {\n                                $target.val(Number.parseInt(newValue));\n                                addNumInputError('Betrag muss rund und gr\u00f6\u00dfer 2\u20ac sein');\n                            } else if (Number.parseInt(newValue) < 2) {\n                                $target.val(2);\n                                addNumInputError('Betrag muss gr\u00f6\u00dfer 2\u20ac sein');\n                            }\n                        })\n    \n                        $form.find('.donate-btn-holder button').on('click', e => {\n                            $form.find('.donate-btn-holder button').removeClass('selected');\n                            const selected_value = $(e.delegateTarget).attr('value');\n                            $form.find('.donate-btn-holder button[value=\"' + selected_value + '\"]').addClass('selected');\n                            if (selected_value === 'free') {\n                                \/\/ $numInput.removeClass('hidden');\n                            } else {\n                              $numInput.addClass('hidden');\n                              $numInput.val(selected_value);\n                            }\n                            $form.change();\n                        });\n\n                        $form.find('.donate-type-btn-holder button').on('click', e => {\n                            $form.find('.donate-type-btn-holder button').removeClass('selected');\n                            const selected_value = $(e.delegateTarget).attr('value');\n                            $form.find('.donate-type-btn-holder button[value=\"' + selected_value + '\"]').addClass('selected');\n                            if (selected_value === 'free') {\n                              \/\/ some code\n                            } else {\n                              \/\/ $numInput.addClass('hidden');\n                              \/\/ $numInput.val(selected_value);\n                              \/\/ $form.change()\n                            }\n                            $form.change();\n                        });\n    \n                        const setDonateButtonUrl = () => {\n                            const type = jQuery('.donate-type-btn-holder .donate-select-btn.selected').attr('value');\n                            const amount = jQuery('.donate-btn-holder .donate-select-btn.selected').attr('value');\n                            const rawMail = $form.find('input[type=\"email\"]').val();\n                            const mail = encodeURIComponent(rawMail);\n                            const newsletter = $form.find('.newsletter-label input').is(':checked') ? '1' : '0';\n                            const page = site.post.id;\n                            const categories = encodeURIComponent(JSON.stringify(site.post.categories));\n                            console.log('should be setting to amount', amount)\n                            const amountUrlMapping = {\n                              onetime: {\n                                '5': 'https:\/\/buy.stripe.com\/8wMbKR6pi4tm2pa9AA',\n                                '10': 'https:\/\/buy.stripe.com\/4gw8yFeVOcZS1l69AB',\n                                '20': 'https:\/\/buy.stripe.com\/7sIcOV6pibVO7Ju8wy',\n                                '100': 'https:\/\/buy.stripe.com\/6oEcOV4ha1ha2pa3cf',\n                                'free': 'https:\/\/buy.stripe.com\/7sIaGN9BuaRK4xi5ko',\n                              },\n                              monthly: {\n                                '5': 'https:\/\/buy.stripe.com\/28o0297tm3pigg0dQW',\n                                '10': 'https:\/\/buy.stripe.com\/eVaaGN9Bue3W3te7sC',\n                                '20': 'https:\/\/buy.stripe.com\/aEUbKRdRKgc42pa8wF',\n                                '100': 'https:\/\/buy.stripe.com\/4gwg179BubVO4xi7sD',\n                                'free': 'https:\/\/buy.stripe.com\/14k5mt9Bu5xq6Fq28g',\n                              },\n                              yearly: {\n                                '5': 'https:\/\/buy.stripe.com\/14k16d7tmf809RCfZa',\n                                '10': 'https:\/\/buy.stripe.com\/8wMbKRcNG7FyfbW4gt',\n                                '20': 'https:\/\/buy.stripe.com\/00g8yF14Y2leaVGaES ',\n                                '100': 'https:\/\/buy.stripe.com\/dR67uB8xq4tmgg0bIX',\n                                'free': 'https:\/\/buy.stripe.com\/dR6dSZcNG4tm0h228o',\n                              }\n                            }\n                            \/\/ for (const amount in amountUrlMapping[type]) {\n                            \/\/   amountUrlMapping[type][amount] ? $form.find(`.donate-select-btn[value=\"${amount}\"]`).show() : $form.find(`.donate-select-btn[value=\"${amount}\"]`).hide();\n                            \/\/ }\n                            $form.find('a[type=\"button\"]').attr('href', amountUrlMapping[type][amount]);\n                            $('a[type=\"button\"]').off('click');\n                        \n                            if ($form[0].checkValidity() && amountUrlMapping[type][amount]) {\n                                $form.find('a[type=\"button\"]').removeClass('disabled')\n\n                                $('a[type=\"button\"]').on('click', e => {\n                                    \/\/ In a timeout, so the href keeps being the right one while the a click is handled by the browser\n                                    setTimeout(() => {\n                                        if(mauticApi && typeof mauticApi.send === 'function')\u00a0{\n                                            console.log('Sending to mautic ', {email: rawMail, is_newsletter: newsletter})\n                                            mauticApi.send({email: rawMail, is_newsletter: newsletter, source: \"Spende\"});\n                                        }\n                                        if (typeof gtag === 'function') {\n                                            gtag('event', 'donation_submitted', {\n                                                event_category: 'donation',\n                                                event_label: 'form_submitted',\n                                                value: Number.parseInt(amount),\n                                                post: page,\n                                                category_slugs: categories,\n                                            });\n                                        }\n                                        \/*\n                                        Modal bleibt offen\n                                        $(\".mollie-donation-modal\").removeAttr(\"data-modal-opened\");\n                                        $(\".mollie-donation-modal\").removeAttr(\"open\");*\/\n                                        $form.find('button[value=\"' + default_value + '\"]').click()\n                                        $form.find('input[type=\"email\"]').val('')\n                                        $form.find('.checkbox-label').addClass('hidden');\n                                        $form.find('.checkbox-label input').prop('checked', false);\n                                        $form.change();\n                                    }, 100);\n                                });\n                            } else {\n                                $('a[type=\"button\"]').on('click', e => {\n                                    e.preventDefault();\n                                    $form[0].reportValidity();\n                                });\n                                $form.find('a[type=\"button\"]').addClass('disabled')\n                            }\n                        }\n                        setDonateButtonUrl();\n    \n                        $form.on('change', setDonateButtonUrl);\n                    }\n                });\n            })(jQuery);\n          });\n        <\/script>\n    <\/div><\/div>[\/vc_column][\/vc_row]<\/p>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>Selbst sichere Messenger nicht mehr sicher: EU-Beamte geraten ins Visier von Hackern, geheime Chats k\u00f6nnten kompromittiert sein. Sicherheitsdienste warnen vor gro\u00df angelegter Spionagekampagne mit gezielten T\u00e4uschungsman\u00f6vern.<\/p>\n","protected":false},"author":13,"featured_media":653597,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_wp_rev_ctl_limit":""},"categories":[1],"tags":[],"class_list":["post-653594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"acf":[],"_links":{"self":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts\/653594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/comments?post=653594"}],"version-history":[{"count":3,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts\/653594\/revisions"}],"predecessor-version":[{"id":653599,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/posts\/653594\/revisions\/653599"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/media\/653597"}],"wp:attachment":[{"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/media?parent=653594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/categories?post=653594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/es.exxpress.at\/api\/wp\/v2\/tags?post=653594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}