Fraud Blocker
Contact

Contact us

We are in the office weekdays from 08:30-16:30. With the hotline open 24 hours a day all year round, we are available when you need it!


Telephone

Denmark: +45 7025 3515

US: +1 213 631 4097 (local rate)

E-mail

info@supporters.dk

support@supporters.dk

Head office

Supporters A/S

Ledreborg Allé 118E

DK-4000 Roskilde

CVR-nr. DK32272592


Other locations

Havndal

Silkeborg





Security and compliance

Visit our Trust Center to read more.


Support

Create a support case

By clicking on "Create case" you confirm your consent to the processing of your personal data in accordance with ours Privacy policy.

Named Denmark's Most Recommended Company 2024

Contact

Contact us

We are in the office weekdays from 08:30-16:30. With the hotline open 24 hours a day all year round, we are available when you need it!


Telephone

Denmark: +45 7025 3515

US: +1 213 631 4097 (local rate)

E-mail

info@supporters.dk

support@supporters.dk

Head office

Supporters A/S

Ledreborg Allé 118E

DK-4000 Roskilde

CVR-nr. DK32272592


Other locations

Havndal

Silkeborg





Security and compliance

Visit our Trust Center to read more.


Support

Create a support case

By clicking on "Create case" you confirm your consent to the processing of your personal data in accordance with ours Privacy policy.

EFTER 15 MIN. VED DU PRÆCIST HVAD DU SKAL GØRE FOR AT FORBEDRE DIN IT

Supporters it-modenhedsvurdering for SMV'er

Få et overblik over din it!

Få indblik i jeres it-miljø og en prioriteret handlingsplan

🎯

Velkommen til jeres it-vurdering

Ca. 10-15 minutter • 5 områder • Prioriteret handlingsplan

Denne vurdering hjælper dig med at forstå, hvor godt jeres virksomhed er rustet på it-området. Du får en modenhedsscore for hvert område samt en konkret, prioriteret handlingsplan med fokus på de vigtigste forbedringer.

📊
Modenhedsscore
🎯
Prioriteret plan
Quick wins
🏢

Om jeres virksomhed

Hjælper os med at tilpasse anbefalingerne

🛡️

Security and compliance

Beskyttelse mod trusler og overholdelse af regler

💾

Data og backup

Beskyttelse og gendannelse af jeres data

🖥️

Infrastruktur og drift

Hardware, netværk og daglig drift

☁️

Cloud og digitalisering

Moderne arbejdsformer og cloud-tjenester

📋

It styring og governance

Organisation, processer og leverandørhåndtering

--
Samlet it-overblik
-

Modenhed pr. område

Detaljerede scores

📋 Prioriteret handlingsplan

Sorteret efter effekt, omkostning og kompleksitet

Forbedringsområder 0
Allerede på plads 0
Delvist
Nej
`).join(''); }); } // ============================================ // NAVIGATION // ============================================ function startAssessment() { showSection('context'); } function showSection(sectionId) { document.querySelectorAll('.section').forEach(s => s.classList.remove('active')); const target = document.getElementById(`section-${sectionId}`); if (target) { target.classList.add('active'); updateProgressNav(); window.scrollTo({ top: 0, behavior: 'smooth' }); } } function updateProgressNav() { const sections = ['context', 'security', 'data', 'infrastructure', 'cloud', 'governance', 'results']; const activeSection = document.querySelector('.section.active'); const activeId = activeSection ? activeSection.id.replace('section-', '') : 'intro'; document.querySelectorAll('.progress-item').forEach(item => { const section = item.dataset.section; item.classList.remove('active', 'completed'); if (section === activeId) { item.classList.add('active'); } else if (assessmentData[section]) { const questions = assessmentData[section].questions; const answered = questions.filter(q => answers[q.id]).length; if (answered === questions.length) { item.classList.add('completed'); } } }); } document.querySelectorAll('.progress-item').forEach(item => { item.addEventListener('click', () => { const section = item.dataset.section; if (section) showSection(section); }); }); // ============================================ // ANSWERS // ============================================ function selectAnswer(questionId, value, element) { answers[questionId] = value; saveState(); const options = element.parentElement.querySelectorAll('.option'); options.forEach(opt => { opt.classList.remove('selected', 'selected-partial', 'selected-no'); }); if (value === 'yes') element.classList.add('selected'); else if (value === 'partial') element.classList.add('selected-partial'); else element.classList.add('selected-no'); updateProgressNav(); } // ============================================ // RESULTS CALCULATION // ============================================ function calculateResults() { const scores = {}; const actions = []; Object.keys(assessmentData).forEach(category => { const categoryData = assessmentData[category]; const questions = categoryData.questions; let totalScore = 0; let maxScore = questions.length * 100; questions.forEach(q => { const answer = answers[q.id] || 'no'; let questionScore = 0; if (answer === 'yes') questionScore = 100; else if (answer === 'partial') questionScore = 50; else questionScore = 0; totalScore += questionScore; // Calculate priority score for action items // Higher is better priority (should be done first) // Formula: Impact * 3 + (10 - Cost) + (10 - Difficulty) const priorityScore = (q.impact * 3) + (10 - q.cost) + (10 - q.difficulty); const isQuickWin = q.impact >= 7 && q.cost { if (a.completed !== b.completed) { return a.completed ? 1 : -1; } return b.priorityScore - a.priorityScore; }); renderResults(scores, actions); showSection('results'); } function renderResults(scores, actions) { // Overall score const overallScore = Math.round( Object.values(scores).reduce((a, b) => a + b, 0) / Object.keys(scores).length ); document.querySelector('.overall-score-value').textContent = overallScore; let desc = ''; if (overallScore >= 80) desc = 'Fremragende it-modenhed'; else if (overallScore >= 60) desc = 'God it-modenhed med forbedringsmuligheder'; else if (overallScore >= 40) desc = 'Middel it-modenhed – flere områder kan styrkes'; else desc = 'Tidlig fase – betydelige forbedringsmuligheder'; document.getElementById('overallDesc').textContent = desc; // Scores list const scoresList = document.getElementById('scoresList'); const colors = { security: '#dc2626', data: '#2563eb', infrastructure: '#7c3aed', cloud: '#0891b2', governance: '#059669' }; scoresList.innerHTML = Object.keys(scores).map(key => { const score = scores[key]; const color = colors[key] || '#6b7280'; return `
${assessmentData[key].shortName}
${score}%
`; }).join(''); // Radar chart drawRadarChart(scores); // Action items renderActionPlan(actions); } function drawRadarChart(scores) { const canvas = document.getElementById('radarChart'); const ctx = canvas.getContext('2d'); const centerX = canvas.width / 2; const centerY = canvas.height / 2; const radius = Math.min(centerX, centerY) - 40; ctx.clearRect(0, 0, canvas.width, canvas.height); const categories = Object.keys(scores); const numCategories = categories.length; const angleStep = (2 * Math.PI) / numCategories; const startAngle = -Math.PI / 2; // Draw grid circles ctx.strokeStyle = '#e5e7eb'; ctx.lineWidth = 1; for (let i = 1; i { const angle = startAngle + idx * angleStep; ctx.beginPath(); ctx.moveTo(centerX, centerY); ctx.lineTo( centerX + radius * Math.cos(angle), centerY + radius * Math.sin(angle) ); ctx.stroke(); }); // Draw data polygon ctx.beginPath(); categories.forEach((key, idx) => { const angle = startAngle + idx * angleStep; const value = scores[key] / 100; const x = centerX + radius * value * Math.cos(angle); const y = centerY + radius * value * Math.sin(angle); if (idx === 0) ctx.moveTo(x, y); else ctx.lineTo(x, y); }); ctx.closePath(); ctx.fillStyle = 'rgba(13, 148, 136, 0.25)'; ctx.fill(); ctx.strokeStyle = '#0d9488'; ctx.lineWidth = 2; ctx.stroke(); // Draw data points categories.forEach((key, idx) => { const angle = startAngle + idx * angleStep; const value = scores[key] / 100; const x = centerX + radius * value * Math.cos(angle); const y = centerY + radius * value * Math.sin(angle); ctx.beginPath(); ctx.arc(x, y, 5, 0, 2 * Math.PI); ctx.fillStyle = '#0d9488'; ctx.fill(); }); // Draw labels ctx.fillStyle = '#374151'; ctx.font = '12px Poppins , Poppins'; ctx.textAlign = 'center'; categories.forEach((key, idx) => { const angle = startAngle + idx * angleStep; const labelRadius = radius + 25; const x = centerX + labelRadius * Math.cos(angle); const y = centerY + labelRadius * Math.sin(angle); ctx.fillText(assessmentData[key].shortName, x, y + 4); }); } function renderActionPlan(actions) { const improvements = actions.filter(a => !a.completed); const completed = actions.filter(a => a.completed); document.getElementById('countImprovements').textContent = improvements.length; document.getElementById('countCompleted').textContent = completed.length; renderActionList(currentTab === 'improvements' ? improvements : completed); } function renderActionList(items) { const container = document.getElementById('actionList'); if (items.length === 0) { container.innerHTML = `
${currentTab === 'completed' ? '🎯' : '✨'}

${currentTab === 'completed' ? 'Ingen områder er fuldt implementeret endnu' : 'Alle områder er på plads – flot arbejde!'}

`; return; } const isCompleted = currentTab === 'completed'; container.innerHTML = items.map((action, idx) => { const priorityClass = getPriorityClass(action); return `
${idx + 1}
${action.title} ${action.category} ${action.isQuickWin && !isCompleted ? 'Quick Win' : ''}
${action.description}
Effekt:
${renderDots(action.impact, 10, action.impact >= 8)}
Omkostning:
${renderDots(action.cost, 10, false)}
Kompleksitet:
${renderDots(action.difficulty, 10, false)}
`; }).join(''); } function renderDots(value, max, isHigh) { const filled = Math.ceil(value / 2); const total = Math.ceil(max / 2); let dots = ''; for (let i = 0; i
`; } return dots; } function getPriorityClass(action) { if (action.impact >= 9 && action.answer === 'no') return 'priority-critical'; if (action.impact >= 7) return 'priority-high'; if (action.impact >= 5) return 'priority-medium'; return 'priority-low'; } function switchTab(tab) { currentTab = tab; document.querySelectorAll('.action-tab').forEach(t => { t.classList.toggle('active', t.dataset.tab === tab); }); // Re-render with current data const allActions = []; Object.keys(assessmentData).forEach(category => { const categoryData = assessmentData[category]; categoryData.questions.forEach(q => { const answer = answers[q.id] || 'no'; const priorityScore = (q.impact * 3) + (10 - q.cost) + (10 - q.difficulty); const isQuickWin = q.impact >= 7 && q.cost b.priorityScore - a.priorityScore); const items = currentTab === 'improvements' ? allActions.filter(a => !a.completed) : allActions.filter(a => a.completed); renderActionList(items); } function restartAssessment() { if (confirm('Er du sikker på, at du vil starte forfra? Alle svar vil blive slettet.')) { answers = {}; localStorage.removeItem('itAssessmentState'); renderQuestions(); showSection('intro'); } } // Initialize on load init();

Hvad får du ud af det?

Skræddersyet handlingsplan og personligt overblik

DET KOSTER 0,-

  • Overblik over de største it-risici
  • Indsigt i hvad der bør prioriteres først
  • Klarhed over hvor I er mere sårbare end I tror
  • Konkrete næste skridt, ikke bare en score

ANDET FRA SUPPORTERS

Læs vores cases fra vores tilfredse kunder:

Løn uden bøvl

Din Lønpartner er et dedikeret lønbureau, der siden etableringen i 2018 har haft én klar mission: at gøre lønbehandling nemt og trygt for danske virksomheder.

Din økonomi i fokus – med uvildig rådgivning

BoFinans blev grundlagt i 2005 af ud fra et ønske om at hjælpe andre med at tage velinformerede økonomiske beslutninger. 

Tryghed på arbejdspladsen

Dansk Arbejdsskadeforsikring er en specialiseret formidler af lovpligtige arbejdsskadeforsikringer i Danmark og repræsenterer nogle af verdens største forsikringsselskaber. 

The sea route to economic efficiency

GoTa Ship Management provides reliable and innovative ship management that enables ship owners to focus on their core business.

Quality is the key

MINI A TURE Copenhagen is a leading Danish design company that creates trend-setting fashion clothes of the highest quality for children all over the world.

The experience starts from home

The ticket office was established in 1989 as an association of several travel agencies and is today Denmark's largest tour operator and airline ticket issuer.

Try us for 3 months

Call or write to

Jan Grested

Get a call from Jan

By clicking on "Call me" you confirm your consent to the processing of your personal data in accordance with ours Privacy policy.

Fast pris. Færre it-problemer. Mere ro i hverdagen.



Få en it-aftale der forebygger problemer - i stedet for at fakturere dem.

Ubegrænset support, forudsigelig faktura og gns. 40% færre it-problemer