Prepare for public git: .gitignore, .env, sanitized configs

- Add .gitignore excluding .env, __pycache__, test_files (copyrighted PDFs),
  session logs, marker/ submodule, and other generated/private files
- Add .env with local config (gitignored); expand .env.example with all
  supported environment variables
- docker-compose.yml: all hardcoded values now use default pattern
- Containerfile: install marker-pdf from GitHub instead of local submodule;
  fix AMD_COMPUTE default to false; sanitize default OLLAMA_HOST
- Remove marker/ submodule from git tracking (keep local checkout via .gitignore)
- Remove session transcript and copyrighted ENISA PDFs from git tracking
- Sanitize local IPs in README, kubernetes deployment, deploy-podman.sh
- Fix hardcoded paths in convert_both.py and compare_conversions.py
- Update requirements.txt to reference GitHub instead of local --editable
This commit is contained in:
oval
2026-06-08 12:29:43 +02:00
parent 3601d48f5a
commit 33997778f6
18 changed files with 126 additions and 8573 deletions
+37 -12
View File
@@ -7,22 +7,47 @@
# podman --env, or docker-compose environment. # podman --env, or docker-compose environment.
# ----------------------------------- # -----------------------------------
# Ollama (OCR fallback) # Authentication
# ----------------------------------- # -----------------------------------
OLLAMA_HOST=http://10.0.1.127:11434 API_KEY= # API key for X-API-Key auth (empty = disabled)
DEESEEK_OCR_MODEL=deepseek-ocr SELF_URL=http://localhost:8001 # Public URL for file download/upload links
# ----------------------------------- # -----------------------------------
# AMD GPU (set TRUE on AMD/ROCm systems) # OCR Backend
# ----------------------------------- # -----------------------------------
AMD_COMPUTE=false # set to "true" to enable ROCm OCR_BACKEND=marker # "marker" (marker-pdf) or "deepseek" (deepseek-ocr via ollama)
TORCH_DEVICE= # override PyTorch device ("rocm", "cuda", "cpu")
MODEL_DTYPE=float32 # "float32" or "bfloat16" (bfloat16 on capable GPUs) # -----------------------------------
# DeepSeek OCR (via Ollama)
# -----------------------------------
DEEPSEEK_OLLAMA_HOST=http://localhost:11434
DEEPSEEK_OCR_MODEL=deepseek-ocr:latest
DEEPSEEK_OCR_PROMPT=<|grounding|>Free OCR.
# -----------------------------------
# Ollama (LLM correction)
# -----------------------------------
OLLAMA_HOST=http://localhost:11434
DEESEEK_OCR_MODEL=deepseek-ocr
USE_LLM=false # Use an LLM to improve conversion accuracy
LLM_SERVICE=marker.services.ollama.OllamaService
OPENAI_BASE_URL= # For OpenAI-compatible LLM API
OPENAI_API_KEY= # API key for OpenAI-compatible service
OPENAI_MODEL= # Model name for OpenAI-compatible service
# -----------------------------------
# AMD GPU (set to true on AMD/ROCm systems)
# -----------------------------------
AMD_COMPUTE=false # set to "true" to enable ROCm
TORCH_DEVICE= # override PyTorch device ("rocm", "cuda", "cpu")
MODEL_DTYPE=float32 # "float32" or "bfloat16" (bfloat16 on capable GPUs)
# ----------------------------------- # -----------------------------------
# Application # Application
# ----------------------------------- # -----------------------------------
PORT=8000 PORT=8001
HOST=0.0.0.0 HOST=0.0.0.0
FLASK_APP=app FLASK_APP=app
FLASK_DEBUG=0 FLASK_DEBUG=0
@@ -30,13 +55,13 @@ FLASK_DEBUG=0
# ----------------------------------- # -----------------------------------
# Gunicorn (production) # Gunicorn (production)
# ----------------------------------- # -----------------------------------
GUNICORN_WORKERS=2 GUNICORN_WORKERS=3
GUNICORN_THREADS=4 GUNICORN_THREADS=4
GUNICORN_TIMEOUT=300 GUNICORN_TIMEOUT=600
GUNICORN_LOGLEVEL=info GUNICORN_LOGLEVEL=info
# ----------------------------------- # -----------------------------------
# Marker # Paths
# ----------------------------------- # -----------------------------------
MARKER_OUTPUT_DIR=/app/conversion_results RESULTS_DIR=/app/conversion_results
UPLOAD_DIR=/app/uploads UPLOAD_DIR=/app/uploads
+40
View File
@@ -0,0 +1,40 @@
# ── Environment ──────────────────────────────────────
.env
# ── Python ───────────────────────────────────────────
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/
*.egg
# ── Runtime output ───────────────────────────────────
conversion_results/
test_results/
uploads/
# ── Personal files ───────────────────────────────────
session-*.md
test_report_*.md
*.log
# ── IDE / editor ─────────────────────────────────────
.opencode/
.idea/
.vscode/
*.swp
*.swo
*~
# ── marker source (clone your own or install from pip) ─
marker/
# ── Test fixtures (copyrighted PDFs) ─────────────────
test_files/
*.pdf
# ── OS ───────────────────────────────────────────────
.DS_Store
Thumbs.db
+16 -16
View File
@@ -1,8 +1,7 @@
# ===== containerfile (podman & docker) for marker-api on this host ===== # ===== Containerfile for marker-api =====
# #
# Targets AMD Radeon 8060S (GFX1151) with ROCm 7.2 native PyTorch 2.9.1. # Uses ROCm PyTorch base for broad GPU support (AMD + NVIDIA via CUDA).
# Ollama for OCR is on localhost:11435. # Ollama defaults to localhost:11434; override with env vars at runtime.
# Removed gfx906 base (Vega20) — now uses rocm/pytorch which natively supports gfx1151.
FROM rocm/pytorch:rocm7.2.4_ubuntu24.04_py3.12_pytorch_release_2.9.1 FROM rocm/pytorch:rocm7.2.4_ubuntu24.04_py3.12_pytorch_release_2.9.1
@@ -23,20 +22,20 @@ RUN groupadd -r marker && (groupadd -r render || true) && (groupadd -r video ||
WORKDIR /app WORKDIR /app
# ---- deps ---- # ---- deps ----
COPY marker/ /app/marker/ # Install marker-pdf from GitHub. For local builds with a cloned marker/
# directory, replace the line below with: -e /app/marker[full]
# rocm/pytorch base already includes ROCm torch 2.9.1.
# Use --extra-index-url so pip prefers ROCm builds if torch gets reinstalled.
RUN pip install --no-cache-dir --break-system-packages \ RUN pip install --no-cache-dir --break-system-packages \
--extra-index-url https://download.pytorch.org/whl/rocm7.2 \ --extra-index-url https://download.pytorch.org/whl/rocm7.2 \
-e "/app/marker[full]" && \ "marker-pdf[full] @ git+https://github.com/VikParuchuri/marker.git" && \
pip install --no-cache-dir --break-system-packages flask gunicorn pip install --no-cache-dir --break-system-packages flask gunicorn
# ---- font: download GoNotoCurrent-Regular.ttf at build time ---- # ---- font: download GoNotoCurrent-Regular.ttf at build time ----
RUN mkdir -p /app/marker/static/fonts && \ # Find the marker package dir inside the installed package
curl -sL -o /app/marker/static/fonts/GoNotoCurrent-Regular.ttf \ RUN MARKER_DIR=$(python3 -c "import marker; print(marker.__path__[0])") && \
mkdir -p "$MARKER_DIR/static/fonts" && \
curl -sL -o "$MARKER_DIR/static/fonts/GoNotoCurrent-Regular.ttf" \
"https://models.datalab.to/artifacts/GoNotoCurrent-Regular.ttf" && \ "https://models.datalab.to/artifacts/GoNotoCurrent-Regular.ttf" && \
chown marker:marker /app/marker/static/fonts/GoNotoCurrent-Regular.ttf chown marker:marker "$MARKER_DIR/static/fonts/GoNotoCurrent-Regular.ttf"
# ---- final image ---- # ---- final image ----
COPY app.py /app/ COPY app.py /app/
@@ -54,16 +53,17 @@ ENV MARKER_OUTPUT_DIR=/app/conversion_results
ENV UPLOAD_DIR=/app/uploads ENV UPLOAD_DIR=/app/uploads
ENV RESULTS_DIR=/app/conversion_results ENV RESULTS_DIR=/app/conversion_results
ENV SELF_URL=http://localhost:8001 ENV SELF_URL=http://localhost:8001
ENV OLLAMA_HOST=http://localhost:11435 ENV OLLAMA_HOST=http://localhost:11434
ENV DEESEEK_OCR_MODEL=deepseek-ocr ENV DEESEEK_OCR_MODEL=deepseek-ocr
ENV AMD_COMPUTE=true ENV AMD_COMPUTE=false
ENV TORCH_DEVICE= ENV TORCH_DEVICE=
ENV MODEL_DTYPE=float32 ENV MODEL_DTYPE=float32
ENV PORT=8001 ENV PORT=8001
ENV HOST=0.0.0.0 ENV HOST=0.0.0.0
ENV LLM_SERVICE=marker.services.openai.OpenAIService ENV LLM_SERVICE=marker.services.ollama.OllamaService
ENV USE_LLM=false ENV USE_LLM=false
ENV OPENAI_BASE_URL=http://localhost:11435/v1 ENV OPENAI_BASE_URL=
ENV OPENAI_API_KEY=
ENV OPENAI_MODEL= ENV OPENAI_MODEL=
ENV OCR_BACKEND=marker ENV OCR_BACKEND=marker
ENV DEEPSEEK_OLLAMA_HOST=http://localhost:11434 ENV DEEPSEEK_OLLAMA_HOST=http://localhost:11434
+2 -2
View File
@@ -34,7 +34,7 @@ PORT=8000 python /app/marker-api/app.py
```bash ```bash
curl http://localhost:8000/health curl http://localhost:8000/health
# {"status":"ok","ollama":"http://10.0.1.127:11434","torch_device":"cuda","supported_formats":["docx","epub","html","jpg",...]} # {"status":"ok","ollama":"http://localhost:11434","torch_device":"cpu","supported_formats":["docx","epub","html","jpg",...]}
``` ```
--- ---
@@ -119,7 +119,7 @@ PDF, DOCX, XLSX, PPTX, EPUB, PNG, JPG, BMP, GIF, TIFF, WEBP, HEIC, HTML, HTM.
| Variable | Default | Description | | Variable | Default | Description |
|----------|---------|-------------| |----------|---------|-------------|
| `OLLAMA_HOST` | `http://10.0.1.127:11434` | Ollama instance for OCR fallback / LLM | | `OLLAMA_HOST` | `http://localhost:11434` | Ollama instance for OCR fallback / LLM |
| `DEESEEK_OCR_MODEL` | `deepseek-ocr` | OCR model name in Ollama | | `DEESEEK_OCR_MODEL` | `deepseek-ocr` | OCR model name in Ollama |
| `AMD_COMPUTE` | `false` | Enable AMD ROCm GPU support | | `AMD_COMPUTE` | `false` | Enable AMD ROCm GPU support |
| `TORCH_DEVICE` | auto | PyTorch device: `rocm`, `cuda`, `cpu` | | `TORCH_DEVICE` | auto | PyTorch device: `rocm`, `cuda`, `cpu` |
Binary file not shown.
+6 -5
View File
@@ -5,24 +5,25 @@ import time
import json import json
import requests import requests
API_URL = "http://localhost:8000/v1/files/convert" SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
API_URL = os.environ.get("API_URL", "http://localhost:8001/v1/files/convert")
TEST_CASES = [ TEST_CASES = [
{ {
"name": "Text-focused Strategy Report", "name": "Text-focused Strategy Report",
"file": "/home/oval/marker-api/test_files/enisa/enisa-international-strategy-2026.pdf", "file": os.path.join(SCRIPT_DIR, "test_files", "enisa", "enisa-international-strategy-2026.pdf"),
"pages": "1-2", "pages": "1-2",
"desc": "Standard text-focused policy brief with small section headers." "desc": "Standard text-focused policy brief with small section headers."
}, },
{ {
"name": "Complex Policy Report with Tables", "name": "Complex Policy Report with Tables",
"file": "/home/oval/marker-api/test_files/enisa/nis-investments-2025.pdf", "file": os.path.join(SCRIPT_DIR, "test_files", "enisa", "nis-investments-2025.pdf"),
"pages": "5-6", "pages": "5-6",
"desc": "Rich, multi-column cybersecurity report containing charts, lists, and formatted tables." "desc": "Rich, multi-column cybersecurity report containing charts, lists, and formatted tables."
}, },
{ {
"name": "Dense Scientific Paper (arXiv)", "name": "Dense Scientific Paper (arXiv)",
"file": "/home/oval/marker-api/test_files/downloaded/attention.pdf", "file": os.path.join(SCRIPT_DIR, "test_files", "downloaded", "attention.pdf"),
"pages": "4-5", "pages": "4-5",
"desc": "Attention Is All You Need. Pages 4-5 contain complex math equations, multi-head attention diagrams, and structured text." "desc": "Attention Is All You Need. Pages 4-5 contain complex math equations, multi-head attention diagrams, and structured text."
} }
@@ -113,7 +114,7 @@ def main():
}) })
# Generate the Markdown report # Generate the Markdown report
report_path = "/home/oval/marker-api/test_files/conversion_comparison_report.md" report_path = os.path.join(SCRIPT_DIR, "test_files", "conversion_comparison_report.md")
report = [] report = []
report.append("# Marker API: AMD GPU vs. Deepseek-OCR (llama.cpp) Comparison") report.append("# Marker API: AMD GPU vs. Deepseek-OCR (llama.cpp) Comparison")
+8 -7
View File
@@ -6,16 +6,17 @@ import requests
API_URL = os.environ.get("API_URL", "http://localhost:8001/v1/files/convert") API_URL = os.environ.get("API_URL", "http://localhost:8001/v1/files/convert")
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
TEST_FILES = [ TEST_FILES = [
"/home/oval/marker-api/test_files/enisa/enisa-international-strategy-2026.pdf", os.path.join(SCRIPT_DIR, "test_files", "enisa", "enisa-international-strategy-2026.pdf"),
"/home/oval/marker-api/test_files/enisa/nis-investments-2025.pdf", os.path.join(SCRIPT_DIR, "test_files", "enisa", "nis-investments-2025.pdf"),
"/home/oval/marker-api/test_files/enisa/enisa-nis360-2026.pdf", os.path.join(SCRIPT_DIR, "test_files", "enisa", "enisa-nis360-2026.pdf"),
"/home/oval/marker-api/test_files/enisa/enisa-stakeholder-strategy-2026-2028.pdf", os.path.join(SCRIPT_DIR, "test_files", "enisa", "enisa-stakeholder-strategy-2026-2028.pdf"),
"/home/oval/marker-api/test_files/enisa/nis2-technical-implementation-guidance.pdf", os.path.join(SCRIPT_DIR, "test_files", "enisa", "nis2-technical-implementation-guidance.pdf"),
"/home/oval/marker-api/test_files/downloaded/attention.pdf", os.path.join(SCRIPT_DIR, "test_files", "downloaded", "attention.pdf"),
] ]
OUTPUT_BASE = "/home/oval/marker-api/test_files/conversion_comparison" OUTPUT_BASE = os.path.join(SCRIPT_DIR, "test_files", "conversion_comparison")
def convert(filepath, use_llm): def convert(filepath, use_llm):
if not os.path.exists(filepath): if not os.path.exists(filepath):
+5 -4
View File
@@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# ================================================== # ==================================================
# deploy-podman.sh -- local podman deployment # deploy-podman.sh -- example local podman deployment
# (customize for your host before use)
# ================================================== # ==================================================
set -euo pipefail set -euo pipefail
@@ -42,15 +43,15 @@ echo ">> Starting container '${IMAGE_NAME}' on port ${PORT} ..."
podman run -d \ podman run -d \
--name "${IMAGE_NAME}" \ --name "${IMAGE_NAME}" \
--network host \ --network host \
-p "${PORT}:8000" \ -p "${PORT}:${PORT}" \
-v /dev/kfd:/dev/kfd \ -v /dev/kfd:/dev/kfd \
-v /dev/dri:/dev/dri \ -v /dev/dri:/dev/dri \
-e OLLAMA_HOST="${OLLAMA_HOST:-http://10.0.1.127:11434}" \ -e OLLAMA_HOST="${OLLAMA_HOST:-http://localhost:11434}" \
-e DEESEEK_OCR_MODEL="${DEESEEK_OCR_MODEL:-deepseek-ocr}" \ -e DEESEEK_OCR_MODEL="${DEESEEK_OCR_MODEL:-deepseek-ocr}" \
-e AMD_COMPUTE="${AMD_COMPUTE:-true}" \ -e AMD_COMPUTE="${AMD_COMPUTE:-true}" \
-e TORCH_DEVICE="${TORCH_DEVICE:-rocm}" \ -e TORCH_DEVICE="${TORCH_DEVICE:-rocm}" \
-e MODEL_DTYPE="${MODEL_DTYPE:-float32}" \ -e MODEL_DTYPE="${MODEL_DTYPE:-float32}" \
-e PORT=8000 \ -e PORT="${PORT}" \
-e HOST=0.0.0.0 \ -e HOST=0.0.0.0 \
-e GUNICORN_WORKERS="${GUNICORN_WORKERS:-2}" \ -e GUNICORN_WORKERS="${GUNICORN_WORKERS:-2}" \
-e GUNICORN_THREADS="${GUNICORN_THREADS:-4}" \ -e GUNICORN_THREADS="${GUNICORN_THREADS:-4}" \
+6 -6
View File
@@ -17,14 +17,14 @@ services:
- OCR_BACKEND=${OCR_BACKEND:-marker} - OCR_BACKEND=${OCR_BACKEND:-marker}
- DEEPSEEK_OLLAMA_HOST=${DEEPSEEK_OLLAMA_HOST:-http://host.containers.internal:11434} - DEEPSEEK_OLLAMA_HOST=${DEEPSEEK_OLLAMA_HOST:-http://host.containers.internal:11434}
- DEEPSEEK_OCR_MODEL=${DEEPSEEK_OCR_MODEL:-deepseek-ocr:latest} - DEEPSEEK_OCR_MODEL=${DEEPSEEK_OCR_MODEL:-deepseek-ocr:latest}
- DEEPSEEK_OCR_PROMPT=<|grounding|>Free OCR. - DEEPSEEK_OCR_PROMPT=${DEEPSEEK_OCR_PROMPT:-<|grounding|>Free OCR.}
- API_KEY=${API_KEY:-} - API_KEY=${API_KEY:-}
- SELF_URL=http://localhost:8001 - SELF_URL=${SELF_URL:-http://localhost:8001}
- LLM_SERVICE=marker.services.openai.OpenAIService - LLM_SERVICE=${LLM_SERVICE:-marker.services.ollama.OllamaService}
- USE_LLM=${USE_LLM:-false} - USE_LLM=${USE_LLM:-false}
- OPENAI_BASE_URL=http://localhost:11435/v1 - OPENAI_BASE_URL=${OPENAI_BASE_URL:-}
- OPENAI_API_KEY=not-needed - OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL= - OPENAI_MODEL=${OPENAI_MODEL:-}
- PORT=${PORT:-8001} - PORT=${PORT:-8001}
- HOST=0.0.0.0 - HOST=0.0.0.0
- GUNICORN_WORKERS=${GUNICORN_WORKERS:-3} - GUNICORN_WORKERS=${GUNICORN_WORKERS:-3}
+1 -1
View File
@@ -6,7 +6,7 @@ kind: ConfigMap
metadata: metadata:
name: marker-api-config name: marker-api-config
data: data:
OLLAMA_HOST: "http://10.0.1.127:11434" OLLAMA_HOST: "http://ollama-service:11434" # adjust to your Ollama endpoint
DEESEEK_OCR_MODEL: "deepseek-ocr" DEESEEK_OCR_MODEL: "deepseek-ocr"
AMD_COMPUTE: "false" AMD_COMPUTE: "false"
TORCH_DEVICE: "" TORCH_DEVICE: ""
Submodule marker deleted from 5b61b57d90
+5 -2
View File
@@ -2,6 +2,9 @@
flask>=3.0,<4.0 flask>=3.0,<4.0
gunicorn>=21.2,<23.0 gunicorn>=21.2,<23.0
# marker dependencies — install from the cloned marker with full format extras # marker-pdf — document conversion engine
--editable ./marker[full] # For local development from a clone:
# pip install -e ./marker[full]
# For production from GitHub:
marker-pdf[full] @ git+https://github.com/VikParuchuri/marker.git
-6860
View File
File diff suppressed because it is too large Load Diff
@@ -1,974 +0,0 @@
<html lang="en" class="no-js">
<head>
<meta charset="utf-8" />
<title>Sorry - 34891</title>
<meta content="width=device-width,initial-scale=1" name="viewport" />
<meta content="IE=edge" http-equiv="X-UA-Compatible" />
<script>
var cl = document.querySelector('html').classList;
cl.remove('no-js');
cl.add('has-js');
</script>
<script>
!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.svg4everybody=b()}):"object"==typeof module&&module.exports?module.exports=b():a.svg4everybody=b()}(this,function(){function a(a,b,c){if(c){var d=document.createDocumentFragment(),e=!b.hasAttribute("viewBox")&&c.getAttribute("viewBox");e&&b.setAttribute("viewBox",e);for(var f=c.cloneNode(!0);f.childNodes.length;)d.appendChild(f.firstChild);a.appendChild(d)}}function b(b){b.onreadystatechange=function(){if(4===b.readyState){var c=b._cachedDocument;c||(c=b._cachedDocument=document.implementation.createHTMLDocument(""),c.body.innerHTML=b.responseText,b._cachedTarget={}),b._embeds.splice(0).map(function(d){var e=b._cachedTarget[d.id];e||(e=b._cachedTarget[d.id]=c.getElementById(d.id)),a(d.parent,d.svg,e)})}},b.onreadystatechange()}function c(c){function e(){for(var c=0;c<o.length;){var h=o[c],i=h.parentNode,j=d(i),k=h.getAttribute("xlink:href")||h.getAttribute("href");if(!k&&g.attributeName&&(k=h.getAttribute(g.attributeName)),j&&k){if(f)if(!g.validate||g.validate(k,j,h)){i.removeChild(h);var l=k.split("#"),q=l.shift(),r=l.join("#");if(q.length){var s=m[q];s||(s=m[q]=new XMLHttpRequest,s.open("GET",q),s.send(),s._embeds=[]),s._embeds.push({parent:i,svg:j,id:r}),b(s)}else a(i,j,document.getElementById(r))}else++c,++p}else++c}(!o.length||o.length-p>0)&&n(e,67)}var f,g=Object(c),h=/\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/,i=/\bAppleWebKit\/(\d+)\b/,j=/\bEdge\/12\.(\d+)\b/,k=/\bEdge\/.(\d+)\b/,l=window.top!==window.self;f="polyfill"in g?g.polyfill:h.test(navigator.userAgent)||(navigator.userAgent.match(j)||[])[1]<10547||(navigator.userAgent.match(i)||[])[1]<537||k.test(navigator.userAgent)&&l;var m={},n=window.requestAnimationFrame||setTimeout,o=document.getElementsByTagName("use"),p=0;f&&e()}function d(a){for(var b=a;"svg"!==b.nodeName.toLowerCase()&&(b=b.parentNode););return b}return c});
</script>
<link
rel="stylesheet"
href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/styles/ecl-eu-preset-website.css"
integrity="sha256-Mwc5eL1RymLbiIKrMvbZmz/FOXFlCnjAsGHs9AIb6Qc= sha384-NQOOLrEUKk++wGGz+h1BASx0NyOK/mTbtDF4gZ9e3x1ZgXrWnhG/FmQYfOsojLws sha512-86FiTtDKFNsKWJYUgy0J08wzXIbbDCwWyYkhaVYL75I8J6ANisHNib3imST5zh20lAFaS9cAqYMxPRARWkUPqg=="
crossorigin="anonymous"
media="screen"
/>
<link
rel="stylesheet"
href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/styles/ecl-eu-preset-website-print.css"
integrity="sha256-lJYdcmklwVrgn2ZWsSN3GZ5G+1saXwJLjUX0mrcHoX4= sha384-Os00jmeauouS56K4NmaQ636onpfJqEMNVujF5H9lwauJgQTQjOLbdJvZbUwmtBti sha512-OjGa7LT06TdGWp9P9RkGtYkcAygRxjLswT8X3vmTuNTXigf/R+vYllFHgDtQj7W3vQX/fxd2DvVLVel+nodiew=="
crossorigin="anonymous"
media="print"
/>
</head>
<body>
<header
data-ecl-auto-init="SiteHeaderHarmonised"
class="ecl-site-header-harmonised"
>
<div class="ecl-site-header-harmonised__container ecl-container">
<div class="ecl-site-header-harmonised__top">
<a
class="ecl-link ecl-link--standalone ecl-site-header-harmonised__logo-link"
href="#"
aria-label="European Union"
>
<img
alt="European Union logo"
title="European Union"
class="ecl-site-header-harmonised__logo-image-mobile"
src="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/logo/condensed-version/positive/en.svg"
/>
<img
alt="European Union logo"
title="European Union"
class="ecl-site-header-harmonised__logo-image-desktop"
src="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/logo/standard-version/positive/en.svg"
/>
</a>
<div class="ecl-site-header-harmonised__action"></div>
</div>
</div>
<div class="ecl-site-header-harmonised__banner">
<div class="ecl-container">
<h1 class="ecl-page-header-core__title">Server inaccessibility</h1>
<p class="ecl-page-header-core__description">429 - Too Many Requests</br>Status ID: <b>64b800fd</b> / Request ID: <b>34891</b></p>
</div>
</div>
</header>
<main class="ecl-container ecl-u-mv-xl ecl-u-mv-md-3xl">
<div class="ecl-row">
<div class="ecl-col-md-6">
<div class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-width-100">
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>bg</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Сървърът е временно недостъпен
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Извиняваме се за неудобството. Моля, опитайте пак по-късно.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>cs</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Server je dočasně nedostupný
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Omlouváme se za způsobené nepříjemnosti. Zkuste to prosím znovu později.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>da</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Serveren er midlertidigt utilgængelig
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Vi undskylder ulejligheden. Prøv igen senere.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>de</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Der Server ist vorübergehend nicht verfügbar
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Wir entschuldigen uns für etwaige Unannehmlichkeiten. Bitte
versuchen Sie es später noch einmal.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>el</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Ο διακομιστής δεν είναι διαθέσιμος προσωρινά
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Ζητούμε συγγνώμη για τυχόν προβλήματα. Δοκιμάστε ξανά αργότερα.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>en</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
The server is temporarily unavailable
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
We apologise for any inconvenience. Please try again later.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>es</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
El servidor no está disponible temporalmente
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Le rogamos disculpe las molestias. Vuelva a intentarlo más
tarde.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>et</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Server ei ole ajutiselt kättesaadav
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Palume vabandust tekkinud ebamugavuste pärast. Palun proovige
hiljem uuesti.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>fi</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Palvelin on väliaikaisesti poissa käytöstä
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Pahoittelemme mahdollista haittaa. Yritä myöhemmin uudelleen.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>fr</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Le serveur est temporairement indisponible
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Veuillez nous excuser pour ce désagrément. Merci de réessayer
plus tard.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>ga</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Níl fáil ar an bhfreastalaí i láthair na huaire
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Is oth linn an chiotaí. Bain triail as arís ar ball.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>hr</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Poslužitelj je privremeno nedostupan
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Ispričavamo se zbog neugodnosti. Pokušajte ponovno kasnije.
</p>
</div>
</div>
</div>
<div class="ecl-col-md-6">
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-mt-md-none ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>hu</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
A szerver átmenetileg nem érhető el, kérjük, próbálkozzon újra
később
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Az esetleges kellemetlenségekért elnézését kérjük.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>it</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Il server è temporaneamente non disponibile
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Ci scusiamo per il disagio arrecato. Riprovare più tardi.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>lt</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Serveris laikinai neveikia
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Atsiprašome už nepatogumus. Bandykite dar kartą vėliau.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>lv</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Serveris pagaidām nav pieejams
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Atvainojamies par neērtībām. Mēģiniet vēlreiz vēlāk.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>mt</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Is-server mhux disponibbli temporanjament
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Niskużaw ruħna għal kwalunkwe inkonvenjenza. Jekk jogħġbok erġa
pprova aktar tard.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>nl</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
De server is tijdelijk niet beschikbaar
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Onze excuses voor het ongemak. Probeer het later nog een keer.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>pl</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Serwer jest tymczasowo niedostępny
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Przepraszamy za wszelkie niedogodności. Proszę spróbować
później.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>pt</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
O servidor está temporariamente indisponível
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Pedimos desculpa pelo incómodo. Volte a tentar mais tarde.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>ro</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Serverul este temporar indisponibil
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Ne cerem scuze pentru eventualele inconveniente. Vă rugăm să
reîncercați mai târziu.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>sk</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Server je dočasne nedostupný
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Ospravedlňujeme sa za prípadné problémy, ktoré môžu v dôsledku
toho vzniknúť.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>sl</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Strežnik je začasno nedosegljiv
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Opravičujemo se za morebitne nevšečnosti. Poskusite ponovno
pozneje.
</p>
</div>
</div>
<div
class="ecl-u-d-inline-flex ecl-u-pt-m ecl-u-mt-l ecl-u-width-100"
>
<span class="ecl-u-d-flex" style="position: relative">
<svg
focusable="false"
aria-hidden="true"
class="ecl-icon ecl-icon--m ecl-u-type-color-blue-100"
>
<use
xlink:href="https://cdn1.fpfis.tech.ec.europa.eu/ecl/v2.38.0/eu-preset-website/images/icons/sprites/icons.svg#general--language"
></use>
</svg>
<span
style="
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, 3px);
"
class="ecl-u-type-xs ecl-u-type-color-white-100 ecl-u-type-uppercase"
>sv</span
>
</span>
<div class="ecl-u-ml-m ecl-u-width-100">
<div
class="ecl-u-type-prolonged-m ecl-u-type-color-blue-100 ecl-u-type-bold"
>
Servern är inte tillgänglig för tillfället
</div>
<p
class="ecl-u-type-paragraph ecl-u-border-bottom ecl-u-border-color-grey-15 ecl-u-mt-s ecl-u-mb-none ecl-u-pb-m"
>
Vi ber om ursäkt för besväret. Försök igen senare.
</p>
</div>
</div>
</div>
</div>
</main>
<footer class="ecl-u-bg-blue-100 ecl-u-pa-l"></footer>
<script>
svg4everybody({ polyfill: true });
</script>
</body>
</html>
Binary file not shown.
@@ -1,683 +0,0 @@
<!DOCTYPE html>
<html lang="en" dir="ltr" class="h-100">
<head>
<meta charset="utf-8" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="/themes/custom/enisaweb/favicon.ico" type="image/png" />
<script>window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};</script>
<meta content="ENISA: Every day we experience the Information Society. Interconnected networks touch our everyday lives, at home and at work. It is therefore vital that computers, mobile phones, banking, and the Internet function, to support Europes digital economy. That is why ENISA is working with Cybersecurity for the EU and the Member States." name="DC.description">
<meta name="description" content="ENISA is the EU agency dedicated to enhancing cybersecurity in Europe. They offer guidance, tools, and resources to safeguard citizens and businesses from cyber threats.">
<meta name="keywords" content="Cybersecurity, EU, ENISA, computer security, Cyber Threats, EU Cyber Crisis, Incident Management, Market and Standards, Product Security, Security certification, Risk Management, Skills and competences, State of cybersecurity in the EU, Vulnerability Disclosure, Artificial Intelligence, Next Gen Technologies, Awareness, Cyber Hygiene, Digital Identity, Data Protection, Education and career path">
<title>Page not found | ENISA</title>
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_iVtEkkXK3GsFFviOb5N0RiPlHf9nxcwaa_bXGH1_dHo.css?delta=0&amp;language=en&amp;theme=enisaweb&amp;include=eJxtj2sOwyAMgy9E4UhVCl6HRpKJ0FXd6Uf3lrY_kfPJkR1KqSnJFugp_KGqNBdPSLlpHSlGrSmrhLd6WCDJdYAgWplKvsJBstGKKUxkX9tcdKIyWNtKlvnDGWY0w5xpzFRG7pE0ds_JwqEndJMpw0flswp6qz_GX-TbEQxnmzXwo8olY7Vwn541LQVuRb-ZiSFLD6vsVww7GHYyvD68AUVHcCg" />
<link rel="stylesheet" media="all" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" />
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_kqnoItugpXU7ofOC42w0XMtkmLysYC4L7i2sNGGYGPM.css?delta=2&amp;language=en&amp;theme=enisaweb&amp;include=eJxtj2sOwyAMgy9E4UhVCl6HRpKJ0FXd6Uf3lrY_kfPJkR1KqSnJFugp_KGqNBdPSLlpHSlGrSmrhLd6WCDJdYAgWplKvsJBstGKKUxkX9tcdKIyWNtKlvnDGWY0w5xpzFRG7pE0ds_JwqEndJMpw0flswp6qz_GX-TbEQxnmzXwo8olY7Vwn541LQVuRb-ZiSFLD6vsVww7GHYyvD68AUVHcCg" />
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_f0YtobP3TA7lxU-qAZjtQhMje8XKUL_bPtkAvJX_XBg.css?delta=3&amp;language=en&amp;theme=enisaweb&amp;include=eJxtj2sOwyAMgy9E4UhVCl6HRpKJ0FXd6Uf3lrY_kfPJkR1KqSnJFugp_KGqNBdPSLlpHSlGrSmrhLd6WCDJdYAgWplKvsJBstGKKUxkX9tcdKIyWNtKlvnDGWY0w5xpzFRG7pE0ds_JwqEndJMpw0flswp6qz_GX-TbEQxnmzXwo8olY7Vwn541LQVuRb-ZiSFLD6vsVww7GHYyvD68AUVHcCg" />
</head>
<body class="path-sites d-flex flex-column h-100">
<div class="dialog-off-canvas-main-canvas d-flex flex-column h-100" data-off-canvas-main-canvas>
<header>
<p class="sr-only"><a href="#main-content" accesskey="M">Go to the main content</a></p>
<div class="navbar navbar-expand-lg navbar-dark text-light bg-primary header">
<div class="container logo-menu-wrapper d-flex">
<div class="region region-nav-branding">
<div id="block-enisaweb-branding" class="block block-system block-system-branding-block">
<div class="navbar-brand d-flex align-items-center">
<a href="/" title="Home" rel="home" class="site-logo d-block">
<img src="/sites/default/files/enisa-logo.svg" alt="Home" fetchpriority="high" />
</a>
<div>
</div>
</div>
</div>
</div>
<nav class="collapse navbar-collapse justify-content-end main-menu" id="navbarSupportedContent" role="navigation" aria-label="Main menu and Search box">
<div class="region region-nav-main">
<div id="block-enisaweb-mainnavigation-2" class="block block-we-megamenu block-we-megamenu-blockmain">
<div class="region-we-mega-menu">
<a href="javascript:" class="navbar-toggle collapsed" aria-label="Open/close menu" aria-controls="mainMenuResponsive" name="menu-button" role="button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<nav class="main navbar navbar-default navbar-we-mega-menu mobile-collapse hover-action" data-menu-name="main" data-block-theme="enisaweb" data-style="Default" data-animation="None" data-delay="" data-duration="" data-autoarrow="" data-alwayshowsubmenu="" data-action="hover" data-mobile-collapse="0" aria-label="ENISA main menu" id="mainMenuResponsive">
<div class="container-fluid">
<ul class="we-mega-menu-ul nav nav-tabs">
<li class="we-mega-menu-li justify dropdown-menu" title="" data-level="0" data-element-type="" data-id="320e2c86-310b-4f7b-a4a9-188df34c3e43" data-submenu="1" data-hide-sub-when-collapse="" data-group="0" data-caption="" data-alignsub="justify" data-target="" data-icon="" >
<span class="we-megamenu-nolink">
Topics</span>
<div class="we-mega-menu-submenu" data-element-type="we-mega-menu-submenu" data-submenu-width="" data-class="" style="width: px">
<div class="we-mega-menu-submenu-inner">
<div class="we-mega-menu-row" data-element-type="we-mega-menu-row" data-custom-row="1">
<div class="we-mega-menu-col span3" data-element-type="we-mega-menu-col" data-width="3" data-block="enisaweb_topics" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-topics" class="block block-block-content block-block-contentec3f1f7d-35d4-4776-a03c-7f97a2fcfc8f">
<p class="title"><a href="/topics" target="_self" title="Access to All Topics page">Topics</a></p>
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Learn more about the topics</p>
<p><a class="button" href="/topics" data-entity-type="node" data-entity-uuid="5f4db810-e19d-49a4-baaa-86ec782eb91e" data-entity-substitution="canonical" title="Topics">Access</a></p>
</div>
</div>
</div></div>
</div>
<div class="we-mega-menu-col span3" data-element-type="we-mega-menu-col" data-width="3" data-block="enisaweb_views_block__topics_tax_block_1" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div class="views-element-container block block-views block-views-blocktopics-tax-block-1" id="block-enisaweb-views-block-topics-tax-block-1">
<p class="title"><a href="/audience/national-eu-authorities" target="_self" title="Access to For National / EU authorities page">For National / EU authorities</a></p>
<div data-block="nav_main"><div class="view view-topics-tax view-id-topics_tax view-display-id-block_1 js-view-dom-id-7c1d2b87dabde327b4783b35298dbb11acd8b020c150d501b78875867b1ec97b">
<div class="view-content">
<div class="item-list">
<ul>
<li><a href="/topics/cyber-threats" hreflang="en">Cyber Threats</a></li>
<li><a href="/topics/eu-incident-response-and-cyber-crisis-management" hreflang="en">EU incident response and cyber crisis management</a></li>
<li><a href="/topics/market" hreflang="en">Market</a></li>
<li><a href="/topics/product-security-and-certification" hreflang="en">Product Security and Certification</a></li>
<li><a href="/topics/risk-management" hreflang="en">Risk Management</a></li>
<li><a href="/topics/skills-and-competences" hreflang="en">Skills and competences</a></li>
<li><a href="/topics/state-of-cybersecurity-in-the-eu" hreflang="en">State of cybersecurity in the EU</a></li>
<li><a href="/topics/vulnerability-disclosure" hreflang="en">Vulnerability Disclosure</a></li>
</ul>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
<div class="we-mega-menu-col span3" data-element-type="we-mega-menu-col" data-width="3" data-block="enisaweb_views_block__topics_tax_block_2" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div class="views-element-container title block block-views block-views-blocktopics-tax-block-2" id="block-enisaweb-views-block-topics-tax-block-2">
<p class="title"><a href="/audience/private-sector" target="_self" title="Access to Private Sector page">Private Sector</a></p>
<div data-block="nav_main"><div class="view view-topics-tax view-id-topics_tax view-display-id-block_2 js-view-dom-id-74b36a87a5d07d7f173c71b98d555f07f38adc86d0349f9aa7359a3e5c5fbbe7">
<div class="view-content">
<div class="item-list">
<ul>
<li><a href="/topics/artificial-intelligence-and-next-gen-technologies" hreflang="en">Artificial Intelligence and Next Gen Technologies</a></li>
<li><a href="/topics/awareness-and-cyber-hygiene" hreflang="en">Awareness and Cyber Hygiene</a></li>
<li><a href="/topics/certification-and-standards" hreflang="en">Certification and Standards</a></li>
<li><a href="/topics/cyber-threats" hreflang="en">Cyber Threats</a></li>
<li><a href="/topics/cybersecurity-of-critical-sectors" hreflang="en">Cybersecurity of Critical Sectors</a></li>
<li><a href="/topics/digital-identity-and-data-protection" hreflang="en">Digital Identity and Data Protection</a></li>
<li><a href="/topics/incident-management" hreflang="en">Incident management</a></li>
<li><a href="/topics/risk-management" hreflang="en">Risk Management</a></li>
<li><a href="/topics/skills-and-competences-for-companies" hreflang="en">Skills and competences (for companies)</a></li>
<li><a href="/topics/vulnerability-disclosure" hreflang="en">Vulnerability Disclosure</a></li>
</ul>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
<div class="we-mega-menu-col span3" data-element-type="we-mega-menu-col" data-width="3" data-block="enisaweb_views_block__topics_tax_block_3" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div class="views-element-container title block block-views block-views-blocktopics-tax-block-3" id="block-enisaweb-views-block-topics-tax-block-3">
<p class="title"><a href="/audience/citizens" target="_self" title="Access to Citizens page">Citizens</a></p>
<div data-block="nav_main"><div class="view view-topics-tax view-id-topics_tax view-display-id-block_3 js-view-dom-id-83bf5b206d0154c644b588d05a80369b2cba5116f1dc1735d8b2cd51de25353a">
<div class="view-content">
<div class="item-list">
<ul>
<li><a href="/topics/cyber-hygiene" hreflang="en">Cyber Hygiene</a></li>
<li><a href="/topics/cyber-incident-awareness" hreflang="en">Cyber Incident Awareness</a></li>
<li><a href="/topics/education-and-career-path" hreflang="en">Education and career path</a></li>
</ul>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
</div>
</div>
</div>
</li><li class="we-mega-menu-li" title="Access to all publications" data-level="0" data-element-type="" data-id="2d24a690-803d-44ad-8d7e-8cf0eb7d0e40" data-submenu="0" data-hide-sub-when-collapse="" data-group="0" data-caption="" data-alignsub="" data-target="_self" data-icon="" >
<a class="we-mega-menu-li" title="" href="/publications" target="_self">
Publications </a>
</li><li class="we-mega-menu-li dropdown-menu" title="" data-level="0" data-element-type="" data-id="54b069d8-f99f-45e7-9d50-9345e82ad14f" data-submenu="1" data-hide-sub-when-collapse="" data-group="0" data-caption="" data-alignsub="" data-target="" data-icon="" >
<span class="we-megamenu-nolink">
Newsroom &amp; Events</span>
<div class="we-mega-menu-submenu" data-element-type="we-mega-menu-submenu" data-submenu-width="" data-class="" style="width: px">
<div class="we-mega-menu-submenu-inner">
<div class="we-mega-menu-row" data-element-type="we-mega-menu-row" data-custom-row="1">
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_news" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-news" class="block block-block-content block-block-content00f65cb0-e1b0-41a1-8a0d-00ce6ced0f0e">
<p class="title"><a href="/news" target="_self" title="Access to All News">News</a></p>
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Cybersecurity in focus: News &amp; updates from ENISA</p>
<p><a class="button" href="/news" data-entity-type="node" data-entity-uuid="088dd847-33ff-4c8e-b094-f0d38a66bbdd" data-entity-substitution="canonical" title="News">Access</a></p>
</div>
</div>
</div></div>
</div>
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_events" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-events" class="block block-block-content block-block-contentb3c06780-f342-437d-9828-54fe86eb9786">
<p class="title"><a href="/events" target="_self" title="Access to All Events">Events</a></p>
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Cybersecurity in practice: Events &amp; Workshops by ENISA</p>
<p><a class="button" href="/events" data-entity-type="node" data-entity-uuid="34f66c6d-0f07-4977-85e3-e8578a59d59c" data-entity-substitution="canonical" title="Events">Access</a></p>
</div>
</div>
</div></div>
</div>
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_pressoffice" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-pressoffice" class="block block-system block-system-menu-blockpress-office">
<p class="title"><a href="/press-office" target="_self" title="Access to Press office page">Press office</a></p>
<ul data-block="nav_main" class="nav navbar-nav">
<li class="nav-item">
<a href="/press-office/corporate-identity" class="nav-link" data-drupal-link-system-path="node/11030">Corporate identity</a>
</li>
<li class="nav-item">
<a href="/press-office/cybersecurity-material" class="nav-link" data-drupal-link-system-path="node/11031">Cybersecurity material</a>
</li>
<li class="nav-item">
<a href="/form/seek-an-expert" class="nav-link" data-drupal-link-system-path="webform/seek_an_expert">Seek an expert or Request a speaker</a>
</li>
</ul>
</div></div></div>
</div>
</div>
</div>
</div>
</li><li class="we-mega-menu-li dropdown-menu" title="" data-level="0" data-element-type="" data-id="eaba29ce-6446-4da3-930a-c3d97495f00b" data-submenu="1" data-hide-sub-when-collapse="" data-group="0" data-caption="" data-alignsub="" data-target="" data-icon="" >
<span class="we-megamenu-nolink">
About</span>
<div class="we-mega-menu-submenu" data-element-type="we-mega-menu-submenu" data-submenu-width="" data-class="" style="width: px">
<div class="we-mega-menu-submenu-inner">
<div class="we-mega-menu-row" data-element-type="we-mega-menu-row" data-custom-row="1">
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_whatwedosubmenubutton_2" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-whatwedosubmenubutton-2" class="block block-block-content block-block-contente0a96203-1eca-4991-9533-33064cace452">
<p class="title"><a href="/about-enisa/what-we-do" target="_self" title="Access to What we do page">What we do</a></p>
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Achieving a high common level of cybersecurity across Europe</p>
<p><a class="button" href="/about-enisa/what-we-do" data-entity-type="node" data-entity-uuid="0619d110-d4dc-4f6b-aa0d-9a56252da07d" data-entity-substitution="canonical" title="What we do">Access</a></p>
</div>
</div></div></div>
</div>
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_whatwedosubmenu_2" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-whatwedosubmenu-2" class="block block-block-content block-block-content99599d89-56f7-43f1-907b-72614045018d">
<p class="title"><a href="/about-enisa/who-we-are" target="_self" title="Access to Who we are page">Who we are</a></p>
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Towards a Trusted and Cyber Secure Europe&nbsp;</p>
<p><a class="button" href="/about-enisa/who-we-are" data-entity-type="node" data-entity-uuid="3c46c210-298c-472c-b871-b167dfe2642c" data-entity-substitution="canonical" title="Who we are">Access</a></p>
</div>
</div></div></div>
</div>
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_transparency" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-transparency" class="block block-system block-system-menu-blocktransparency">
<p class="title"><a href="/about-enisa/How-we-work" target="_self" title="Access to How we work page">How we work</a></p>
<ul data-block="nav_main" class="nav navbar-nav">
<li class="nav-item">
<a href="/about-enisa/accounting-finance/accounting-finance" class="nav-link" data-drupal-link-system-path="node/17339">Accounting and Finance</a>
</li>
<li class="nav-item">
<a href="/about-enisa/procedures-and-policies" class="nav-link dropdown-toggle" data-drupal-link-system-path="node/17360">Policies and Procedures</a>
</li>
<li class="nav-item">
<a href="/about-enisa/data-protection/data-protection" class="nav-link dropdown-toggle" data-drupal-link-system-path="node/17346">Data Protection</a>
</li>
<li class="nav-item">
<a href="/about-enisa/transparency" class="nav-link dropdown-toggle" data-drupal-link-system-path="node/17404">Transparency</a>
</li>
<li class="nav-item">
<a href="/enisa-a-climate-neutral-agency" class="nav-link" data-drupal-link-system-path="node/18893">ENISA, a climate neutral agency </a>
</li>
</ul>
</div>
</div></div>
</div>
</div>
<div class="we-mega-menu-row" data-element-type="we-mega-menu-row" data-custom-row="1">
<div class="we-mega-menu-col span12 transversal-menu" data-element-type="we-mega-menu-col" data-width="12" data-block="enisaweb_transversaloptionsofaboutmenu" data-blocktitle="0" data-hidewhencollapse="" data-class="transversal-menu">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-transversaloptionsofaboutmenu" class="block block-system block-system-menu-blocktransversal-options-about-menu">
<ul data-block="nav_main" class="nav navbar-nav">
<li class="nav-item">
<a href="/about-enisa/international-cooperation" class="nav-link" data-drupal-link-system-path="node/19377">International Cooperation</a>
</li>
</ul>
</div>
</div></div>
</div>
</div>
</div>
</div>
</li><li class="we-mega-menu-li dropdown-menu" title="" data-level="0" data-element-type="" data-id="44fbec5d-1aaf-4cb3-b06b-a79b571ad50c" data-submenu="1" data-hide-sub-when-collapse="" data-group="0" data-caption="" data-alignsub="" data-target="" data-icon="" >
<span class="we-megamenu-nolink">
Working with us</span>
<div class="we-mega-menu-submenu" data-element-type="we-mega-menu-submenu" data-submenu-width="" data-class="" style="width: px">
<div class="we-mega-menu-submenu-inner">
<div class="we-mega-menu-row" data-element-type="we-mega-menu-row" data-custom-row="1">
<div class="we-mega-menu-col span4" data-element-type="we-mega-menu-col" data-width="4" data-block="enisaweb_workwithenisa" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-workwithenisa" class="block block-block-content block-block-content86d5ce2f-abc2-4160-afda-442fe2c68258">
<p class="title"><a href="/working-with-us/working-for-enisa" target="_self" title="Access to Working for ENISA page">Working for ENISA</a></p>
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Explore the benefits of working for ENISA</p>
<p><a class="button" href="/working-with-us/working-for-enisa" data-entity-type="node" data-entity-uuid="f10da531-46ad-49f6-84cb-0770c69d839e" data-entity-substitution="canonical" title="Working for ENISA">Access</a></p>
</div>
</div>
</div></div>
</div>
<div class="we-mega-menu-col span8" data-element-type="we-mega-menu-col" data-width="8" data-block="enisaweb_workingwithus" data-blocktitle="0" data-hidewhencollapse="" data-class="">
<div class="type-of-block"><div class="block-inner"><div id="block-enisaweb-workingwithus" class="title block block-system block-system-menu-blockworking-with-us">
<p class="title"><a href="/work-with-us" target="_self" title="Access to Working with us page">Working with us</a></p>
<ul data-block="nav_main" class="nav navbar-nav">
<li class="nav-item">
<a href="/careers" class="nav-link" data-drupal-link-system-path="node/12487">Careers</a>
</li>
<li class="nav-item">
<a href="/working-with-us/procurement" class="nav-link" data-drupal-link-system-path="node/17421">Procurement</a>
</li>
<li class="nav-item">
<a href="/working-with-us/ad-hoc-working-groups-calls" class="nav-link" data-drupal-link-system-path="node/17422">Ad hoc working groups</a>
</li>
</ul>
</div></div></div>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</nav>
</div>
</div>
</div>
<p class="btn-search">
<a href="javascript:" title="Show the search field">Search</a>
</p>
<div class="search-form-wrapper" aria-label="Search field">
<div class="region region-nav-additional">
<div id="block-enisaweb-search" class="search-block-form block block-search container-inline" data-drupal-selector="search-block-form" id="block-enisaweb-search-form" role="search">
<form data-block="nav_additional" action="/search" method="get" id="search-block-form" accept-charset="UTF-8">
<div class="js-form-item form-item js-form-type-search form-type-search js-form-item-keys form-item-keys form-no-label">
<label class="visually-hidden" for="edit-keys">Search</label>
<input class="form-search form-control" title="Enter the terms you wish to search for." data-drupal-selector="edit-keys" type="search" id="edit-keys" name="keys" value="" size="15" maxlength="128">
</div>
<div class="form-actions js-form-wrapper form-wrapper" data-drupal-selector="edit-actions" id="edit-actions-search">
<button class="button js-form-submit form-submit btn-enisa btn-primary" data-drupal-selector="edit-submit" type="submit" id="edit-submit" value="Search">Search</button>
</div>
</form>
</div>
</div>
<p class="btn-close-search"><a href="javascript:" title="Hide the search field">Close</a></p>
</div>
</nav>
</div>
</div>
</header>
<main role="main" class="container-full image-banner">
<div class="title-breadcrumbs container">
<div class="title-intro full">
<div id="block-enisaweb-page-title" class="block block-core block-page-title-block">
<h1>Page not found</h1>
</div>
</div>
</div>
<div class="main container" id="main-content">
<a id="main-content" tabindex="-1"></a> <div class="container">
<div data-drupal-messages-fallback class="hidden"></div>
<div class="row g-0 not-found-page">
<div class="col-xs-12 col-md-12 col-lg-6 not-found-image">
<div class="image"></div>
</div>
<div class="col-xs-12 col-md-12 col-lg-6 not-found-text">
<h2>OOPS! PAGE NOT FOUND</h2>
<p>The page you are looking for can't be found.</p>
<p><a href="https://www.enisa.europa.eu/" class="btn-all left">Go to the homepage</a></p>
</div>
</div>
</div>
</div>
</main>
<section class="subscribe-section" role="complementary">
<div class="container">
<div class="row">
<div class="col-md-3 col-lg-3 subscribe-image"></div>
<div class="col-md-9 col-lg-9 subscribe-wrapper">
<h2>Subscribe</h2>
<p><strong>Stay updated with ENISA!</strong> Sign up for email alerts on publications, events, vacancies,
and more.</p>
<p><a href="/alertservice" class="btn-all left">Sign up now</a></p>
</div>
</div>
</div>
</section>
<footer class="mt-auto enisa-footer">
<div class="container">
<div class="footer container">
<div class="row">
<div class="col-md-12 col-lg-3">
<div id="block-enisaweb-enisalogos">
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item">
<div class="enisa-logo">
<img src="/themes/custom/enisaweb/images/enisa-logo-white.svg"
alt="ENISA, European Union Agency for Cybersecurity" width="220" height="150"
class="align-left" loading="lazy">
<p><em>A Trusted and Cyber Secure Europe</em></p>
</div>
<div class="agencies-network-logo">
<img src="/themes/custom/enisaweb/images/agencies-network.png"
alt="Agencies network logo" width="39" height="36" class="align-left"
loading="lazy">
<p><a href="https://agencies-network.europa.eu/index_en">EU Agencies Network</a></p>
</div>
</div>
</div>
<div id="block-enisaweb-socialmedialinks" class="block-social-media-links block block-social-media-links-block">
<p>Follow us on</p>
<ul class="social-media-links--platforms platforms vertical">
<li>
<a class="social-media-link-icon--youtube" href="https://www.youtube.com/user/ENISAvideos" target="_blank" >
<span class='fab fa-youtube fa-2x'></span>
<span class="platform-name">Youtube</span>
</a>
</li>
<li>
<a class="social-media-link-icon--twitter" href="https://x.com/enisa_eu" target="_blank" >
<span class='fab fa-x-twitter fa-2x'></span>
<span class="platform-name">X</span>
</a>
</li>
<li>
<a class="social-media-link-icon--linkedin" href="https://www.linkedin.com/company/european-union-agency-for-cybersecurity-enisa/" target="_blank" >
<span class='fab fa-linkedin fa-2x'></span>
<span class="platform-name">LinkedIn</span>
</a>
</li>
<li>
<a class="social-media-link-icon--facebook" href="https://www.facebook.com/ENISAEUAGENCY" target="_blank" >
<span class='fab fa-facebook fa-2x'></span>
<span class="platform-name">Facebook</span>
</a>
</li>
</ul>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-3 border-left">
<nav aria-labelledby="block-enisaweb-contactus-menu" id="block-enisaweb-contactus" class="block block-menu navigation menu--contact-us">
<p id="block-enisaweb-contactus-menu">Contact us</p>
<ul data-block="footer" class="nav navbar-nav">
<li class="nav-item">
<a href="/about-enisa/contact/contact" class="nav-link" data-drupal-link-system-path="node/17344">Contacts</a>
</li>
<li class="nav-item">
<a href="/form/contact-form" class="nav-link" data-drupal-link-system-path="webform/contact_form">General queries</a>
</li>
<li class="nav-item">
<a href="/working-with-us/procurement" class="nav-link" data-drupal-link-system-path="node/17421">Public Procurement</a>
</li>
<li class="nav-item">
<a href="/form/media-inquiries" class="nav-link" data-drupal-link-system-path="webform/media_inquiries">Media inquiries</a>
</li>
</ul>
</nav>
</div>
<div class="col-xs-12 col-md-6 col-lg-3 border-left">
<div id="block-enisaweb-findoutaboutus" class="block block-system block-system-menu-blockfind-out-about-us">
<p>Find out about us</p>
<ul data-block="footer" class="nav navbar-nav">
<li class="nav-item">
<a href="/accessibility-statement" class="nav-link" data-drupal-link-system-path="node/18887">Accessibility</a>
</li>
<li class="nav-item">
<a href="/about-enisa/legal-notice" class="nav-link" data-drupal-link-system-path="node/17355">Legal Notice</a>
</li>
<li class="nav-item">
<a href="/about-enisa/data-protection/data-protection" class="nav-link" data-drupal-link-system-path="node/17346">Data Protection</a>
</li>
<li class="nav-item">
<a href="/about-enisa/cookies" class="nav-link" data-drupal-link-system-path="node/17345">Cookies</a>
</li>
<li class="nav-item">
<a href="/sitemap" target="_blank" class="nav-link" data-drupal-link-system-path="sitemap">Sitemap</a>
</li>
</ul>
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-3 border-left">
<div id="block-enisaweb-pageofinterest" class="block block-system block-system-menu-blockpage-of-interest">
<p>Page of interest</p>
<ul data-block="footer" class="nav navbar-nav">
<li class="nav-item">
<a href="/publications" class="nav-link" data-drupal-link-system-path="publications">Publications </a>
</li>
<li class="nav-item">
<a href="/press-office" class="nav-link" data-drupal-link-system-path="node/11033">Press Office</a>
</li>
<li class="nav-item">
<a href="/digital-tools" class="nav-link" data-drupal-link-system-path="digital-tools">Digital Tools</a>
</li>
<li class="nav-item">
<a href="/work-with-us" class="nav-link" data-drupal-link-system-path="node/11443">Working with us</a>
</li>
<li class="nav-item">
<a href="/about-enisa/public-access-to-documents" class="nav-link" data-drupal-link-system-path="node/17363">Public access to documents</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="line"></div>
<div class="copy container">
<div class="row">
<div class="col-xs-12 col-md-12 col-lg-6 alignleft">
<div id="block-enisaweb-copyrightfooter" class="block block-block-content block-block-content0f0b270e-cc5d-448c-a771-6cc7c0621340">
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>©&nbsp;2026 by the European Union Agency for Cybersecurity</p>
</div>
</div>
</div>
<div class="col-xs-12 col-md-12 col-lg-6 alignright">
<div id="block-enisaweb-enisadescriptionfooter" class="block block-block-content block-block-content2b4d8729-4032-4438-ba87-1a58fbc364db">
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>ENISA is an agency of the European Union</p>
</div>
</div>
</div>
</div>
</div>
<p><a href="#" id="totop" class="totop"><span class="sr-only">Go to top</span></a></p>
</footer>
</div>
<script type="application/json">{"utility":"piwik","siteID":"5847bf6f-3ce3-4800-8749-1c565b34b7b6","sitePath":["www.enisa.europa.eu"],"is404":true,"instance":"ec"}</script>
<script type="application/json">{"utility":"cck","url":"\/about-enisa\/cookies"}</script>
<script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ckeditorAccordion":{"accordionStyle":{"collapseAll":1,"keepRowsOpen":0,"animateAccordionOpenAndClose":1,"openTabsWithHash":0,"allowHtmlInTitles":1}},"user":{"uid":0,"permissionsHash":"c1c359b7541ecd1c4f0e321882d2e1eba1197d85c8ad3b45b15aff5871a9e6d0"}}</script>
<script src="/sites/default/files/js/js_Uv_fxqHIMtEtS30w0hjV4odzonkoWsMT5KD3y13y8kU.js?scope=footer&amp;delta=0&amp;language=en&amp;theme=enisaweb&amp;include=eJxlj0EOgzAMBD-EG6kfQiYxEOrYNHGE8vuCWkql3mZn97IYgilKc_iB25hVrPMPCtE09-i95hBV3JfeE5LQkcSCGw3uBFgKMBoVu7qJdUCGYo2jTJdfnpVyA98805-tEUyrn2Gt4uefuqjcO6V-D6bKxYVcV-TbmaEkzMaKgXK3UZ9owkRS3ag57Ss4BBwGzhsvrCdlDA"></script>
<script src="https://static.addtoany.com/menu/page.js" defer></script>
<script src="/sites/default/files/js/js_PJg5XHigxDm_42CAJgw7llont3PySBp-PdpAvGlCYSs.js?scope=footer&amp;delta=2&amp;language=en&amp;theme=enisaweb&amp;include=eJxlj0EOgzAMBD-EG6kfQiYxEOrYNHGE8vuCWkql3mZn97IYgilKc_iB25hVrPMPCtE09-i95hBV3JfeE5LQkcSCGw3uBFgKMBoVu7qJdUCGYo2jTJdfnpVyA98805-tEUyrn2Gt4uefuqjcO6V-D6bKxYVcV-TbmaEkzMaKgXK3UZ9owkRS3ag57Ss4BBwGzhsvrCdlDA"></script>
<script src="/modules/contrib/ckeditor_accordion/js/accordion.frontend.min.js?tg28tw"></script>
<script src="/sites/default/files/js/js_fPzrD9aZOLJS9JI2GLgD7Zs-CzoWHT18p8hYIEuW9h4.js?scope=footer&amp;delta=4&amp;language=en&amp;theme=enisaweb&amp;include=eJxlj0EOgzAMBD-EG6kfQiYxEOrYNHGE8vuCWkql3mZn97IYgilKc_iB25hVrPMPCtE09-i95hBV3JfeE5LQkcSCGw3uBFgKMBoVu7qJdUCGYo2jTJdfnpVyA98805-tEUyrn2Gt4uefuqjcO6V-D6bKxYVcV-TbmaEkzMaKgXK3UZ9owkRS3ag57Ss4BBwGzhsvrCdlDA"></script>
<script src="https://webtools.europa.eu/load.js" defer></script>
<script src="/sites/default/files/js/js_Pj1gX-gXRHcdCBDI1-WO0jTP3o3GK7ZZPT2TZokpFjY.js?scope=footer&amp;delta=6&amp;language=en&amp;theme=enisaweb&amp;include=eJxlj0EOgzAMBD-EG6kfQiYxEOrYNHGE8vuCWkql3mZn97IYgilKc_iB25hVrPMPCtE09-i95hBV3JfeE5LQkcSCGw3uBFgKMBoVu7qJdUCGYo2jTJdfnpVyA98805-tEUyrn2Gt4uefuqjcO6V-D6bKxYVcV-TbmaEkzMaKgXK3UZ9owkRS3ag57Ss4BBwGzhsvrCdlDA"></script>
<script async="" src="/themes/custom/enisaweb/js/application.js"></script>
</body>
</html>
Binary file not shown.