{"id":71,"date":"2021-06-26T09:44:51","date_gmt":"2021-06-26T09:44:51","guid":{"rendered":"http:\/\/www.securesteps.tn\/?page_id=71"},"modified":"2026-08-31T21:45:07","modified_gmt":"2026-08-31T21:45:07","slug":"hestia-front","status":"publish","type":"page","link":"https:\/\/www.securesteps.tn\/ar\/","title":{"rendered":"Secure Steps \u2014 Cybersecurity &#038; Clear Remediation"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull ss-hero-shell has-midnight-background-color has-white-color has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"padding-top:clamp(1rem,2vw,1.35rem);padding-right:var(--wp--preset--spacing--40);padding-bottom:clamp(2rem,3vw,2.75rem);padding-left:var(--wp--preset--spacing--40)\">\n<section id=\"ss-hero-art-shell\" aria-label=\"Secure Steps interactive hero artwork\" style=\"display:block;width:100%;max-width:none;position:relative;min-height:clamp(500px,72vw,760px);border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);background:linear-gradient(145deg,#081120 0%,#0b1220 42%,#050a12 100%);box-shadow:0 36px 100px rgba(2,8,23,0.46);isolation:isolate;\">\n  <style>\n    body.home .ss-hero-shell, body.page-id-71 .ss-hero-shell { width:min(1240px, calc(100vw - 2rem)); max-width:none !important; margin-left:calc(50% - 50vw + 1rem) !important; margin-right:calc(50% - 50vw + 1rem) !important; padding-left:0 !important; padding-right:0 !important; }\n    body.home .ss-hero-shell > .wp-block-html, body.page-id-71 .ss-hero-shell > .wp-block-html { width:100%; max-width:none; margin:0; }\n    body.home #ss-hero-art-shell, body.page-id-71 #ss-hero-art-shell { box-sizing: border-box; }\n    body.home #ss-hero-art-shell *, body.page-id-71 #ss-hero-art-shell * { box-sizing: border-box; }\n    body.home #ss-hero-art-canvas, body.page-id-71 #ss-hero-art-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }\n    body.home #ss-hero-art-wash, body.page-id-71 #ss-hero-art-wash { position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,10,18,0.84) 0%, rgba(5,10,18,0.70) 34%, rgba(5,10,18,0.28) 68%, rgba(5,10,18,0.46) 100%), radial-gradient(circle at 18% 20%, rgba(25,195,200,0.18), transparent 28%), radial-gradient(circle at 82% 22%, rgba(37,99,235,0.18), transparent 28%); z-index:1; }\n    body.home #ss-hero-art-content, body.page-id-71 #ss-hero-art-content { position:relative; z-index:2; min-height:clamp(500px,72vw,760px); display:flex; align-items:center; padding:clamp(1.2rem,3.5vw,2.5rem); }\n    body.home #ss-hero-art-inner, body.page-id-71 #ss-hero-art-inner { width:min(100%, 47rem); padding:clamp(0.35rem,1vw,0.8rem); }\n    body.home #ss-hero-art-title, body.page-id-71 #ss-hero-art-title { margin:0; color:#ffffff; font-size:clamp(2.7rem,6vw,6rem); line-height:0.94; letter-spacing:-0.045em; text-wrap:balance; }\n    body.home #ss-hero-art-copy, body.page-id-71 #ss-hero-art-copy { margin:1.15rem 0 0; max-width:42rem; color:rgba(245,247,250,0.86); font-size:clamp(1rem,1.55vw,1.24rem); line-height:1.7; }\n    body.home #ss-hero-art-actions, body.page-id-71 #ss-hero-art-actions { display:flex; flex-wrap:wrap; gap:0.9rem; margin-top:1.65rem; }\n    body.home #ss-hero-art-actions a, body.page-id-71 #ss-hero-art-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:0.9rem 1.35rem; border-radius:999px; text-decoration:none; font-weight:600; letter-spacing:0.01em; transition:transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }\n    body.home #ss-hero-art-actions a:hover, body.page-id-71 #ss-hero-art-actions a:hover { transform:translateY(-1px); }\n    body.home #ss-hero-art-primary, body.page-id-71 #ss-hero-art-primary { background:#19c3c8; color:#081120; box-shadow:0 18px 38px rgba(25,195,200,0.22); }\n    body.home #ss-hero-art-secondary, body.page-id-71 #ss-hero-art-secondary { background:rgba(255,255,255,0.04); color:#f5f7fa; border:1px solid rgba(255,255,255,0.14); backdrop-filter:blur(12px); }\n\n    body.home .ss-home-next-step, body.page-id-71 .ss-home-next-step { padding:0 var(--wp--preset--spacing--40) clamp(2.8rem,5vw,4.5rem); }\n    body.home .ss-home-next-step__panel, body.page-id-71 .ss-home-next-step__panel { position:relative; overflow:hidden; border-radius:32px; background:linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%); border:1px solid rgba(215,225,238,0.98); box-shadow:0 24px 70px rgba(11,18,32,0.10); padding:clamp(1.5rem,4vw,2.6rem); }\n    body.home .ss-home-next-step__glow, body.page-id-71 .ss-home-next-step__glow { position:absolute; inset:auto auto -10% -4%; width:15rem; height:15rem; border-radius:999px; background:radial-gradient(circle, rgba(25,195,200,0.18) 0%, rgba(25,195,200,0) 70%); pointer-events:none; }\n    body.home .ss-home-next-step__glow--right, body.page-id-71 .ss-home-next-step__glow--right { inset:-14% -3% auto auto; background:radial-gradient(circle, rgba(37,99,235,0.14) 0%, rgba(37,99,235,0) 72%); }\n    body.home .ss-home-next-step__grid, body.page-id-71 .ss-home-next-step__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0, 1.5fr) minmax(250px, 0.9fr); gap:clamp(1.25rem,3vw,2.3rem); align-items:center; }\n    body.home .ss-home-next-step__title, body.page-id-71 .ss-home-next-step__title { margin:0; color:#0b1220; font-size:clamp(2rem,4vw,3.35rem); line-height:1.02; letter-spacing:-0.035em; text-wrap:balance; }\n    body.home .ss-home-next-step__copy, body.page-id-71 .ss-home-next-step__copy { margin:1rem 0 0; color:#2d3c59; font-size:clamp(1rem,1.4vw,1.1rem); line-height:1.75; max-width:44rem; }\n    body.home .ss-home-next-step__card, body.page-id-71 .ss-home-next-step__card { border-radius:26px; background:linear-gradient(180deg,#0b1220 0%,#101b31 100%); border:1px solid rgba(37,99,235,0.18); box-shadow:0 18px 40px rgba(11,18,32,0.24); padding:1.15rem; }\n    body.home .ss-home-next-step__list, body.page-id-71 .ss-home-next-step__list { margin:0; padding:0; list-style:none; display:grid; gap:0.8rem; }\n    body.home .ss-home-next-step__list li, body.page-id-71 .ss-home-next-step__list li { display:flex; gap:0.75rem; align-items:flex-start; color:rgba(245,247,250,0.88); line-height:1.55; }\n    body.home .ss-home-next-step__dot, body.page-id-71 .ss-home-next-step__dot { width:0.75rem; height:0.75rem; border-radius:999px; margin-top:0.4rem; flex:0 0 auto; background:linear-gradient(135deg,#19c3c8,#2563eb); box-shadow:0 0 0 6px rgba(25,195,200,0.08); }\n    body.home .ss-home-next-step__actions, body.page-id-71 .ss-home-next-step__actions { display:flex; flex-wrap:wrap; gap:0.9rem; margin-top:1.5rem; }\n    body.home .ss-home-next-step__actions a, body.page-id-71 .ss-home-next-step__actions a { display:inline-flex; align-items:center; justify-content:center; min-height:3.2rem; padding:0.9rem 1.25rem; border-radius:999px; text-decoration:none; font-weight:600; }\n    body.home .ss-home-next-step__actions .ss-next-primary, body.page-id-71 .ss-home-next-step__actions .ss-next-primary { background:#0b1220; color:#ffffff; box-shadow:0 14px 34px rgba(11,18,32,0.16); }\n    body.home .ss-home-next-step__actions .ss-next-secondary, body.page-id-71 .ss-home-next-step__actions .ss-next-secondary { background:rgba(37,99,235,0.06); color:#1f4fd6; border:1px solid rgba(37,99,235,0.14); }\n\n\n    \/* homepage footer panel hotfix *\/\n    body.home footer.wp-block-template-part .ss-footer-grid > .ss-footer-panel, body.page-id-71 footer.wp-block-template-part .ss-footer-grid > .ss-footer-panel { padding:1.45rem 1.35rem 1.35rem !important; border-radius:24px !important; border:1px solid rgba(255,255,255,0.08) !important; background:linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03)) !important; background-color:transparent !important; box-shadow:0 20px 44px rgba(0,0,0,.18) !important; }\n    body.home footer.wp-block-template-part .ss-footer-grid > .ss-footer-brand, body.page-id-71 footer.wp-block-template-part .ss-footer-grid > .ss-footer-brand { padding:1.55rem 1.5rem 1.45rem !important; }\n\n    @media (max-width: 920px) {\n      body.home #ss-hero-art-shell, body.page-id-71 #ss-hero-art-shell { border-radius:26px; }\n      body.home #ss-hero-art-wash, body.page-id-71 #ss-hero-art-wash { background:linear-gradient(180deg, rgba(5,10,18,0.52) 0%, rgba(5,10,18,0.62) 44%, rgba(5,10,18,0.86) 100%), radial-gradient(circle at 22% 20%, rgba(25,195,200,0.18), transparent 30%), radial-gradient(circle at 76% 18%, rgba(37,99,235,0.18), transparent 28%); }\n      body.home #ss-hero-art-content, body.page-id-71 #ss-hero-art-content { align-items:flex-end; }\n      body.home #ss-hero-art-inner, body.page-id-71 #ss-hero-art-inner { width:min(100%, 40rem); }\n      body.home .ss-home-next-step__grid, body.page-id-71 .ss-home-next-step__grid { grid-template-columns:1fr; }\n    }\n    @media (max-width: 640px) {\n      body.home #ss-hero-art-shell, body.page-id-71 #ss-hero-art-shell { min-height:520px; border-radius:22px; }\n      body.home #ss-hero-art-content, body.page-id-71 #ss-hero-art-content { min-height:520px; padding:1rem; }\n      body.home #ss-hero-art-copy, body.page-id-71 #ss-hero-art-copy { font-size:1rem; line-height:1.62; }\n      body.home #ss-hero-art-actions a, body.page-id-71 #ss-hero-art-actions a, body.home .ss-home-next-step__actions a, body.page-id-71 .ss-home-next-step__actions a { width:100%; }\n      body.home .ss-home-next-step, body.page-id-71 .ss-home-next-step { padding-left:1rem; padding-right:1rem; }\n      body.home .ss-home-next-step__panel, body.page-id-71 .ss-home-next-step__panel { border-radius:22px; padding:1.15rem; }\n    }\n  <\/style>\n  <canvas id=\"ss-hero-art-canvas\" aria-hidden=\"true\"><\/canvas>\n  <div id=\"ss-hero-art-wash\"><\/div>\n  <div id=\"ss-hero-art-content\">\n    <div id=\"ss-hero-art-inner\">\n      <h1 id=\"ss-hero-art-title\">Clear security thinking with practical next steps.<\/h1>\n      <p id=\"ss-hero-art-copy\">Secure Steps helps teams understand exposure, prioritise remediation, and turn technical findings into clear action through focused assessments, readable analysis, and remediation guidance that supports real implementation.<\/p>\n      <div id=\"ss-hero-art-actions\">\n        <a id=\"ss-hero-art-primary\" href=\"\/contact\/\">Start a conversation<\/a>\n        <a id=\"ss-hero-art-secondary\" href=\"\/blog\/\">Explore insights &amp; writeups<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<script>\n(function(){\n  const shell = document.getElementById('ss-hero-art-shell');\n  if (!shell) return;\n  const canvas = document.getElementById('ss-hero-art-canvas');\n  if (!canvas) return;\n  if (shell.dataset.ssHeroReady === '1') return;\n  shell.dataset.ssHeroReady = '1';\n  window.__secureStepsHeroArt = { ready: true, version: 'v3-clean' };\n\n  const ctx = canvas.getContext('2d');\n  const pointer = { x: 0, y: 0, active: false };\n  const DPR_MAX = 1.75;\n  let width = 0;\n  let height = 0;\n  let dpr = 1;\n  let frame = 0;\n  let particles = [];\n  let ringNodes = [];\n\n  function mulberry32(seed) {\n    return function() {\n      let t = seed += 0x6D2B79F5;\n      t = Math.imul(t ^ (t >>> 15), t | 1);\n      t ^= t + Math.imul(t ^ (t >>> 7), t | 61);\n      return ((t ^ (t >>> 14)) >>> 0) \/ 4294967296;\n    };\n  }\n\n  const rand = mulberry32(0x31A62026);\n\n  function between(a, b) {\n    return a + (b - a) * rand();\n  }\n\n  function rgba(kind, alpha) {\n    if (kind === 'white') return 'rgba(245,247,250,' + alpha + ')';\n    if (kind === 'blue') return 'rgba(37,99,235,' + alpha + ')';\n    return 'rgba(25,195,200,' + alpha + ')';\n  }\n\n  function seedScene() {\n    particles = [];\n    ringNodes = [];\n    const cx = width * 0.7;\n    const cy = height * 0.48;\n    const radius = Math.min(width, height) * 0.24;\n\n    for (let i = 0; i < 58; i++) {\n      particles.push({\n        x: between(width * 0.04, width * 0.96),\n        y: between(height * 0.06, height * 0.94),\n        ox: between(width * 0.04, width * 0.96),\n        oy: between(height * 0.06, height * 0.94),\n        vx: between(-0.18, 0.18),\n        vy: between(-0.18, 0.18),\n        size: between(1.1, 2.8),\n        drift: between(0.2, 1.0),\n        tint: rand() > 0.65 ? 'blue' : 'teal'\n      });\n    }\n\n    for (let i = 0; i < 18; i++) {\n      const angle = (Math.PI * 2 * i) \/ 18;\n      ringNodes.push({\n        angle: angle,\n        radius: radius * between(0.84, 1.08),\n        speed: between(0.0008, 0.0026),\n        size: between(1.8, 3.3),\n        tint: i % 3 === 0 ? 'white' : (i % 2 === 0 ? 'blue' : 'teal')\n      });\n    }\n  }\n\n  function resize() {\n    const rect = shell.getBoundingClientRect();\n    width = Math.max(320, rect.width || 320);\n    height = Math.max(520, rect.height || 520);\n    dpr = Math.min(window.devicePixelRatio || 1, DPR_MAX);\n    canvas.width = Math.floor(width * dpr);\n    canvas.height = Math.floor(height * dpr);\n    ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n    seedScene();\n  }\n\n  function drawBackground(time) {\n    const base = ctx.createLinearGradient(0, 0, width, height);\n    base.addColorStop(0, '#07111f');\n    base.addColorStop(0.45, '#0a1324');\n    base.addColorStop(1, '#040a12');\n    ctx.fillStyle = base;\n    ctx.fillRect(0, 0, width, height);\n\n    const leftGlow = ctx.createRadialGradient(width * 0.18, height * 0.2, 0, width * 0.18, height * 0.2, width * 0.34);\n    leftGlow.addColorStop(0, 'rgba(25,195,200,0.16)');\n    leftGlow.addColorStop(1, 'rgba(25,195,200,0)');\n    ctx.fillStyle = leftGlow;\n    ctx.fillRect(0, 0, width, height);\n\n    const rightGlow = ctx.createRadialGradient(width * 0.78, height * 0.22, 0, width * 0.78, height * 0.22, width * 0.3);\n    rightGlow.addColorStop(0, 'rgba(37,99,235,0.18)');\n    rightGlow.addColorStop(1, 'rgba(37,99,235,0)');\n    ctx.fillStyle = rightGlow;\n    ctx.fillRect(0, 0, width, height);\n\n    ctx.strokeStyle = 'rgba(255,255,255,0.035)';\n    ctx.lineWidth = 1;\n    const gridGapX = Math.max(48, Math.round(width \/ 16));\n    const gridGapY = Math.max(42, Math.round(height \/ 10));\n    for (let x = -gridGapX; x < width + gridGapX; x += gridGapX) {\n      const drift = Math.sin(time * 0.2 + x * 0.01) * 8;\n      ctx.beginPath();\n      ctx.moveTo(x + drift, 0);\n      ctx.lineTo(x - drift, height);\n      ctx.stroke();\n    }\n    for (let y = 0; y < height + gridGapY; y += gridGapY) {\n      const drift = Math.cos(time * 0.25 + y * 0.02) * 6;\n      ctx.beginPath();\n      ctx.moveTo(0, y + drift);\n      ctx.lineTo(width, y - drift);\n      ctx.stroke();\n    }\n  }\n\n  function drawPanels(time) {\n    const panels = [\n      { x: width * 0.58, y: height * 0.17, w: width * 0.22, h: height * 0.15 },\n      { x: width * 0.72, y: height * 0.51, w: width * 0.18, h: height * 0.14 },\n      { x: width * 0.48, y: height * 0.62, w: width * 0.16, h: height * 0.12 }\n    ];\n    ctx.lineWidth = 1;\n    for (let i = 0; i < panels.length; i++) {\n      const p = panels[i];\n      const glow = 0.05 + (Math.sin(time * 1.1 + i) + 1) * 0.025;\n      ctx.fillStyle = 'rgba(8,16,30,0.16)';\n      ctx.strokeStyle = 'rgba(255,255,255,0.07)';\n      ctx.beginPath();\n      ctx.roundRect(p.x, p.y, p.w, p.h, 18);\n      ctx.fill();\n      ctx.stroke();\n      ctx.strokeStyle = 'rgba(25,195,200,' + glow.toFixed(3) + ')';\n      ctx.beginPath();\n      ctx.moveTo(p.x + 18, p.y + 18);\n      ctx.lineTo(p.x + p.w - 18, p.y + 18);\n      ctx.stroke();\n      for (let j = 0; j < 4; j++) {\n        const yy = p.y + 40 + j * 16;\n        ctx.strokeStyle = j % 2 === 0 ? 'rgba(37,99,235,0.10)' : 'rgba(255,255,255,0.07)';\n        ctx.beginPath();\n        ctx.moveTo(p.x + 16, yy);\n        ctx.lineTo(p.x + p.w - 16, yy);\n        ctx.stroke();\n      }\n    }\n  }\n\n  function drawShield(time) {\n    const cx = width * 0.69;\n    const cy = height * 0.48;\n    const sw = Math.min(width, height) * 0.23;\n    const sh = sw * 1.18;\n\n    ctx.save();\n    ctx.beginPath();\n    ctx.moveTo(cx, cy - sh * 0.56);\n    ctx.bezierCurveTo(cx + sw * 0.4, cy - sh * 0.52, cx + sw * 0.56, cy - sh * 0.16, cx + sw * 0.46, cy + sh * 0.22);\n    ctx.bezierCurveTo(cx + sw * 0.35, cy + sh * 0.5, cx + sw * 0.16, cy + sh * 0.7, cx, cy + sh * 0.86);\n    ctx.bezierCurveTo(cx - sw * 0.16, cy + sh * 0.7, cx - sw * 0.35, cy + sh * 0.5, cx - sw * 0.46, cy + sh * 0.22);\n    ctx.bezierCurveTo(cx - sw * 0.56, cy - sh * 0.16, cx - sw * 0.4, cy - sh * 0.52, cx, cy - sh * 0.56);\n    ctx.closePath();\n    const fill = ctx.createLinearGradient(cx - sw * 0.4, cy - sh * 0.6, cx + sw * 0.5, cy + sh * 0.8);\n    fill.addColorStop(0, 'rgba(255,255,255,0.08)');\n    fill.addColorStop(0.42, 'rgba(17,28,53,0.18)');\n    fill.addColorStop(1, 'rgba(8,16,30,0.03)');\n    ctx.fillStyle = fill;\n    ctx.fill();\n    ctx.strokeStyle = 'rgba(245,247,250,0.14)';\n    ctx.lineWidth = 1.2;\n    ctx.stroke();\n    ctx.clip();\n\n    const scanOffset = ((time * 140) % (sw * 2.2)) - sw * 1.1;\n    const scan = ctx.createLinearGradient(cx + scanOffset - 90, 0, cx + scanOffset + 90, 0);\n    scan.addColorStop(0, 'rgba(25,195,200,0)');\n    scan.addColorStop(0.5, 'rgba(25,195,200,0.17)');\n    scan.addColorStop(1, 'rgba(25,195,200,0)');\n    ctx.fillStyle = scan;\n    ctx.fillRect(cx - sw, cy - sh, sw * 2, sh * 2.2);\n\n    ctx.strokeStyle = 'rgba(245,247,250,0.06)';\n    ctx.lineWidth = 1;\n    for (let i = -3; i <= 3; i++) {\n      const yy = cy + i * sh * 0.12;\n      ctx.beginPath();\n      ctx.moveTo(cx - sw * 0.34, yy);\n      ctx.lineTo(cx + sw * 0.34, yy);\n      ctx.stroke();\n    }\n    for (let i = -2; i <= 2; i++) {\n      const xx = cx + i * sw * 0.15;\n      ctx.beginPath();\n      ctx.moveTo(xx, cy - sh * 0.28);\n      ctx.lineTo(xx, cy + sh * 0.32);\n      ctx.stroke();\n    }\n    ctx.restore();\n  }\n\n  function updateParticles(time) {\n    const influence = Math.min(width, height) * 0.2;\n    for (let i = 0; i < particles.length; i++) {\n      const p = particles[i];\n      const driftX = Math.sin(time * 0.7 + p.oy * 0.015) * 0.08 * p.drift;\n      const driftY = Math.cos(time * 0.8 + p.ox * 0.01) * 0.08 * p.drift;\n      p.vx += (p.ox - p.x) * 0.00028 + driftX * 0.02;\n      p.vy += (p.oy - p.y) * 0.00028 + driftY * 0.02;\n      if (pointer.active) {\n        const dx = p.x - pointer.x;\n        const dy = p.y - pointer.y;\n        const dist = Math.hypot(dx, dy) || 1;\n        if (dist < influence) {\n          const force = (1 - dist \/ influence) * 0.085;\n          p.vx += (dx \/ dist) * force;\n          p.vy += (dy \/ dist) * force;\n        }\n      }\n      p.vx *= 0.988;\n      p.vy *= 0.988;\n      p.x += p.vx;\n      p.y += p.vy;\n      if (p.x < 14 || p.x > width - 14) p.vx *= -1;\n      if (p.y < 14 || p.y > height - 14) p.vy *= -1;\n      p.x = Math.max(12, Math.min(width - 12, p.x));\n      p.y = Math.max(12, Math.min(height - 12, p.y));\n    }\n  }\n\n  function drawConstellation() {\n    const points = particles.slice();\n    const cx = width * 0.69;\n    const cy = height * 0.48;\n\n    for (let i = 0; i < ringNodes.length; i++) {\n      const n = ringNodes[i];\n      const angle = n.angle + frame * n.speed * 11;\n      points.push({\n        x: cx + Math.cos(angle) * n.radius,\n        y: cy + Math.sin(angle * 1.03) * n.radius * 0.82,\n        size: n.size,\n        tint: n.tint\n      });\n    }\n\n    ctx.lineWidth = 1;\n    for (let i = 0; i < points.length; i++) {\n      for (let j = i + 1; j < points.length; j++) {\n        const a = points[i];\n        const b = points[j];\n        const dx = a.x - b.x;\n        const dy = a.y - b.y;\n        const dist = Math.hypot(dx, dy);\n        const limit = j >= particles.length ? 130 : 92;\n        if (dist < limit) {\n          let alpha = (1 - dist \/ limit) * 0.22;\n          if (pointer.active) {\n            const pa = Math.hypot(a.x - pointer.x, a.y - pointer.y);\n            const pb = Math.hypot(b.x - pointer.x, b.y - pointer.y);\n            const near = Math.min(pa, pb);\n            if (near < 140) alpha += (1 - near \/ 140) * 0.18;\n          }\n          ctx.strokeStyle = (i + j) % 4 === 0 ? 'rgba(37,99,235,' + alpha.toFixed(3) + ')' : 'rgba(25,195,200,' + alpha.toFixed(3) + ')';\n          ctx.beginPath();\n          ctx.moveTo(a.x, a.y);\n          ctx.lineTo(b.x, b.y);\n          ctx.stroke();\n        }\n      }\n    }\n\n    for (let i = 0; i < points.length; i++) {\n      const p = points[i];\n      const kind = p.tint || 'teal';\n      const radius = p.size || 2;\n      ctx.beginPath();\n      ctx.shadowBlur = i >= particles.length ? 22 : 14;\n      ctx.shadowColor = rgba(kind, 0.45);\n      ctx.fillStyle = rgba(kind, kind === 'white' ? 0.96 : 0.92);\n      ctx.arc(p.x, p.y, radius, 0, Math.PI * 2);\n      ctx.fill();\n    }\n    ctx.shadowBlur = 0;\n  }\n\n  function animate() {\n    frame += 1;\n    const time = frame * 0.013;\n    ctx.clearRect(0, 0, width, height);\n    drawBackground(time);\n    drawPanels(time);\n    drawShield(time);\n    updateParticles(time);\n    drawConstellation();\n    requestAnimationFrame(animate);\n  }\n\n  function setPointer(clientX, clientY) {\n    const rect = shell.getBoundingClientRect();\n    pointer.x = clientX - rect.left;\n    pointer.y = clientY - rect.top;\n    pointer.active = true;\n  }\n\n  shell.addEventListener('pointermove', function(event) { setPointer(event.clientX, event.clientY); });\n  shell.addEventListener('pointerleave', function() { pointer.active = false; });\n  shell.addEventListener('touchmove', function(event) {\n    const touch = event.touches ? event.touches[0] : null;\n    if (touch) setPointer(touch.clientX, touch.clientY);\n  }, { passive: true });\n  shell.addEventListener('touchend', function() { pointer.active = false; }, { passive: true });\n\n  if ('ResizeObserver' in window) {\n    new ResizeObserver(resize).observe(shell);\n  } else {\n    window.addEventListener('resize', resize);\n  }\n\n  resize();\n  animate();\n})();\n<\/script>\n<\/section>\n<\/div>\n\n\n<div id=\"services\" class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--30)\"><p class=\"has-text-align-center ss-section-label wp-block-paragraph\">Services<\/p><h2 class=\"wp-block-heading has-text-align-center\" style=\"font-size:clamp(2.2rem,4vw,3.8rem)\">Professional security support across the work that matters.<\/h2><p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\">Every engagement is designed to give you a clearer view of risk, a cleaner explanation of impact, and a more usable remediation path.<\/p><\/div>\n\n<div class=\"wp-block-columns ss-services-grid is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex\"><div class=\"wp-block-column ss-service-card is-layout-flow wp-block-column-is-layout-flow\"><h3 class=\"wp-block-heading\">Assess<\/h3>\n<p class=\"wp-block-paragraph\">Review exposed services, applications, and operational surfaces to identify weaknesses that carry real business impact.<\/p>\n<\/div><div class=\"wp-block-column ss-service-card is-layout-flow wp-block-column-is-layout-flow\"><h3 class=\"wp-block-heading\">Explain<\/h3>\n<p class=\"wp-block-paragraph\">Translate technical evidence into language that product, engineering, and decision-makers can use immediately.<\/p>\n<\/div><div class=\"wp-block-column ss-service-card is-layout-flow wp-block-column-is-layout-flow\"><h3 class=\"wp-block-heading\">Improve<\/h3>\n<p class=\"wp-block-paragraph\">Prioritise remediation, validate fixes, and build a security posture that becomes easier to maintain over time.<\/p>\n<\/div><\/div>\n\n<div class=\"wp-block-group alignfull has-surface-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-31e928cd wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--40)\"><p class=\"has-text-align-center ss-section-label wp-block-paragraph\">How Secure Steps works<\/p><h2 class=\"wp-block-heading has-text-align-center\">From uncertainty to a clear next move.<\/h2><div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex\"><div class=\"wp-block-column ss-focus-card is-layout-flow wp-block-column-is-layout-flow\"><h4 class=\"wp-block-heading\">01 \/ Scope<\/h4><p class=\"wp-block-paragraph\">Start with the question, system, product area, or finding that needs attention now.<\/p><\/div><div class=\"wp-block-column ss-focus-card is-layout-flow wp-block-column-is-layout-flow\"><h4 class=\"wp-block-heading\">02 \/ Analyse<\/h4><p class=\"wp-block-paragraph\">Investigate the technical behaviour, confirm impact, and separate noise from the issues that actually matter.<\/p><\/div><div class=\"wp-block-column ss-focus-card is-layout-flow wp-block-column-is-layout-flow\"><h4 class=\"wp-block-heading\">03 \/ Remediate<\/h4><p class=\"wp-block-paragraph\">Provide guidance that supports implementation, validation, and follow-through rather than just a report.<\/p><\/div><\/div><\/div>\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--20)\"><p class=\"has-text-align-center ss-section-label wp-block-paragraph\">Insights<\/p><h2 class=\"wp-block-heading has-text-align-center\">Practical insights and writeups with a professional presentation.<\/h2><p class=\"has-text-align-center wp-block-paragraph\">Read walkthroughs, technical analysis, and applied defensive guidance that explains not just what happened, but what to do next.<\/p><\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex\"><div class=\"wp-block-column ss-focus-card is-layout-flow wp-block-column-is-layout-flow\"><h4 class=\"wp-block-heading\">Readable analysis<\/h4><p class=\"wp-block-paragraph\">Complex issues are broken down into concise technical explanations with direct operational value.<\/p><\/div><div class=\"wp-block-column ss-focus-card is-layout-flow wp-block-column-is-layout-flow\"><h4 class=\"wp-block-heading\">Clear remediation<\/h4><p class=\"wp-block-paragraph\">Findings are connected to practical fixes, validation steps, and habits that reduce repeat issues.<\/p><\/div><div class=\"wp-block-column ss-focus-card is-layout-flow wp-block-column-is-layout-flow\"><h4 class=\"wp-block-heading\">Professional tone<\/h4><p class=\"wp-block-paragraph\">The site content is designed to feel trustworthy, modern, and useful to both technical and non-technical readers.<\/p><\/div><\/div>\n\n\n<section class=\"ss-home-next-step\" aria-label=\"Next step\">\n  <div class=\"ss-home-next-step__panel\">\n    <div class=\"ss-home-next-step__glow\"><\/div>\n    <div class=\"ss-home-next-step__glow ss-home-next-step__glow--right\"><\/div>\n    <div class=\"ss-home-next-step__grid\">\n      <div>\n        <h2 class=\"ss-home-next-step__title\">Move from findings to a clearer security plan.<\/h2>\n        <p class=\"ss-home-next-step__copy\">Bring the question, the exposure, or the remediation path that needs attention. Secure Steps helps turn technical uncertainty into concise analysis, prioritised action, and practical follow-through.<\/p>\n        <div class=\"ss-home-next-step__actions\">\n          <a class=\"ss-next-primary\" href=\"\/contact\/\">Contact Secure Steps<\/a>\n          <a class=\"ss-next-secondary\" href=\"\/blog\/\">Read the insights<\/a>\n        <\/div>\n      <\/div>\n      <aside class=\"ss-home-next-step__card\" aria-label=\"What you can expect\">\n        <ul class=\"ss-home-next-step__list\">\n          <li><span class=\"ss-home-next-step__dot\"><\/span><span>Focused scoping around the issue that matters now.<\/span><\/li>\n          <li><span class=\"ss-home-next-step__dot\"><\/span><span>Readable technical analysis with clear business relevance.<\/span><\/li>\n          <li><span class=\"ss-home-next-step__dot\"><\/span><span>Remediation guidance that supports real implementation.<\/span><\/li>\n        <\/ul>\n      <\/aside>\n    <\/div>\n  <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Practical cybersecurity guidance, assessments, security insights, and clear remediation for online businesses.<\/p>","protected":false},"author":1,"featured_media":1403,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-71","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.securesteps.tn\/ar\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ar_AR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Secure Steps - Cybersecurity assessments, insights, and clear remediation.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Penetration Testing &amp; Security Audits | Secure Steps\" \/>\n\t\t<meta property=\"og:description\" content=\"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.securesteps.tn\/ar\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-06-26T09:44:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-31T21:45:07+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Penetration Testing &amp; Security Audits | Secure Steps\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#listItem\",\"name\":\"Secure Steps \\u2014 Cybersecurity &#038; Clear Remediation\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#listItem\",\"position\":2,\"name\":\"Secure Steps \\u2014 Cybersecurity &#038; Clear Remediation\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#organization\",\"name\":\"securesteps.tn\",\"description\":\"Cybersecurity assessments, insights, and clear remediation.\",\"url\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#webpage\",\"url\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/\",\"name\":\"Penetration Testing & Security Audits | Secure Steps\",\"description\":\"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.\",\"inLanguage\":\"ar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#breadcrumblist\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.securesteps.tn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/securesteps-og-logo.png\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#mainImage\",\"width\":1200,\"height\":630,\"caption\":\"Secure Steps information security\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#mainImage\"},\"datePublished\":\"2021-06-26T09:44:51+00:00\",\"dateModified\":\"2026-08-31T21:45:07+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#website\",\"url\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/\",\"name\":\"Secure Steps\",\"description\":\"Cybersecurity assessments, insights, and clear remediation.\",\"inLanguage\":\"ar\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.securesteps.tn\\\/ar\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Penetration Testing & Security Audits | Secure Steps","description":"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.","canonical_url":"https:\/\/www.securesteps.tn\/ar\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.securesteps.tn\/ar\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.securesteps.tn\/ar#listItem","position":1,"name":"Home","item":"https:\/\/www.securesteps.tn\/ar","nextItem":{"@type":"ListItem","@id":"https:\/\/www.securesteps.tn\/ar\/#listItem","name":"Secure Steps \u2014 Cybersecurity &#038; Clear Remediation"}},{"@type":"ListItem","@id":"https:\/\/www.securesteps.tn\/ar\/#listItem","position":2,"name":"Secure Steps \u2014 Cybersecurity &#038; Clear Remediation","previousItem":{"@type":"ListItem","@id":"https:\/\/www.securesteps.tn\/ar#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/www.securesteps.tn\/ar\/#organization","name":"securesteps.tn","description":"Cybersecurity assessments, insights, and clear remediation.","url":"https:\/\/www.securesteps.tn\/ar\/"},{"@type":"WebPage","@id":"https:\/\/www.securesteps.tn\/ar\/#webpage","url":"https:\/\/www.securesteps.tn\/ar\/","name":"Penetration Testing & Security Audits | Secure Steps","description":"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.","inLanguage":"ar","isPartOf":{"@id":"https:\/\/www.securesteps.tn\/ar\/#website"},"breadcrumb":{"@id":"https:\/\/www.securesteps.tn\/ar\/#breadcrumblist"},"image":{"@type":"ImageObject","url":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png","@id":"https:\/\/www.securesteps.tn\/ar\/#mainImage","width":1200,"height":630,"caption":"Secure Steps information security"},"primaryImageOfPage":{"@id":"https:\/\/www.securesteps.tn\/ar\/#mainImage"},"datePublished":"2021-06-26T09:44:51+00:00","dateModified":"2026-08-31T21:45:07+00:00"},{"@type":"WebSite","@id":"https:\/\/www.securesteps.tn\/ar\/#website","url":"https:\/\/www.securesteps.tn\/ar\/","name":"Secure Steps","description":"Cybersecurity assessments, insights, and clear remediation.","inLanguage":"ar","publisher":{"@id":"https:\/\/www.securesteps.tn\/ar\/#organization"}}]},"og:locale":"ar_AR","og:site_name":"Secure Steps - Cybersecurity assessments, insights, and clear remediation.","og:type":"article","og:title":"Penetration Testing &amp; Security Audits | Secure Steps","og:description":"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.","og:url":"https:\/\/www.securesteps.tn\/ar\/","og:image":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png","og:image:secure_url":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png","article:published_time":"2021-06-26T09:44:51+00:00","article:modified_time":"2026-08-31T21:45:07+00:00","twitter:card":"summary","twitter:title":"Penetration Testing &amp; Security Audits | Secure Steps","twitter:description":"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.","twitter:image":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png"},"aioseo_meta_data":{"post_id":"71","title":"Penetration Testing & Security Audits | Secure Steps","description":"Secure Steps provides practical information security guidance, vulnerability assessment, penetration testing, and clear remediation for web, mobile, and infrastructure systems.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"featured","og_image_url":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png","og_image_width":"0","og_image_height":"0","og_image_custom_url":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png","og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":true,"twitter_card":"default","twitter_image_type":"featured","twitter_image_url":null,"twitter_image_custom_url":"https:\/\/www.securesteps.tn\/wp-content\/uploads\/2026\/08\/securesteps-og-logo.png","twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[],"defaultGraph":"WebPage","defaultPostTypeGraph":""},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"},\"blockGraphs\":[]}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-06-26 09:58:50","updated":"2026-09-01 14:07:23","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.securesteps.tn\/ar\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSecure Steps \u2014 Cybersecurity &amp; Clear Remediation\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.securesteps.tn\/ar"},{"label":"Secure Steps \u2014 Cybersecurity &#038; Clear Remediation","link":"https:\/\/www.securesteps.tn\/ar\/"}],"_links":{"self":[{"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/pages\/71","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/comments?post=71"}],"version-history":[{"count":18,"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/pages\/71\/revisions"}],"predecessor-version":[{"id":1432,"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/pages\/71\/revisions\/1432"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/media\/1403"}],"wp:attachment":[{"href":"https:\/\/www.securesteps.tn\/ar\/wp-json\/wp\/v2\/media?parent=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}