Pentesting
Netwerk, webapplicatie, API en Azure-audit. CVSS 3.1-gescoord, retest inbegrepen.
Bekijk scopeEén visuele taal voor webshop én security-diensten. Elk token, elke component en elke regel op deze pagina is de bron voor de hifi-schermen, het prototype en de Vue-componentbibliotheek.
Networking4all is geen partnerkatalogus maar een team dat organisaties aantoonbaar veilig houdt. Diep petrol staat voor diepte, techniek en vertrouwen; één koper-accent geeft de scherpte van een besluit. Alle partnermerken krijgen grijs, het eigen merk krijgt kleur.
Waarom: een tekst-wordmark in de kopletter is direct herkenbaar in elke maat, en de koperen “4” is het enige merkteken dat de site nodig heeft.
Geen gradients, geen zwevende glaspanelen, geen parallax. Ruimte, ritme en typografie doen het werk.
DigiCert, GeoTrust, Thawte en GlobalSign zijn bewijs, geen kop. Ze staan altijd grijs en onder de eigen propositie.
Elke pagina heeft één koperen knop en hooguit één secundaire. Alles daarbuiten is tekst met een pijl.
Koele neutralen met een lichte petrol-bias, twee merkkleuren en een aparte reeks voor validatieniveaus zodat DV, OV, EV en Qualified nooit met de merkkleur verward worden.
Waarom: petrol zit tussen blauw (vertrouwen) en groen (veilig) in en is in de Nederlandse security-markt nog niet geclaimd door een concurrent of partner.
Waarom: één warme kleur, uitsluitend voor de primaire knop en de “4”, zodat het oog altijd weet waar de volgende stap zit.
Waarom: grijzen met een koele bias lezen als gekozen in plaats van geërfd, en houden tekstkleuren op AA-niveau in beide thema’s.
Waarom: status-kleuren staan los van het accent; groen betekent altijd “ok”, nooit “klik hier”.
Waarom: DV/OV/EV/Qualified zijn productinformatie; ze krijgen een eigen, gedempte reeks (grijs, petrol, goud, paars) die oploopt in gewicht met het vertrouwensniveau.
De ratio’s hieronder worden live berekend uit de hex-waarden van de tokens. Normale tekst vereist 4,5:1, grote tekst en UI-componenten 3:1.
| Combinatie | Voorbeeld | Ratio | Eis | Resultaat |
|---|
Dark mode: de tokens wisselen alleen van ondergrond en tekst; petrol-500 en koper-500 blijven identiek zodat knoppen en badges in beide thema’s hetzelfde merk uitstralen. EV-goud, Qualified-paars en DV-grijs krijgen in het donker een lichtere tint om AA te halen.
Bricolage Grotesque voor koppen, IBM Plex Sans voor alles wat gelezen moet worden, IBM Plex Mono voor alles wat gekopieerd moet worden.
Waarom Bricolage: een grotesk met optische maten en een eigenzinnige “g” en “a”, waardoor koppen een gezicht krijgen zonder speels te worden.
Waarom Plex: Sans en Mono delen dezelfde tekenaar en x-hoogte, dus een ACME-commando in een lopende zin blijft op één lijn staan.
| Stap | Grootte | Rol | Font · gewicht | Regelhoogte |
|---|---|---|---|---|
| 64 | 64px | H1 desktop (hero) | Bricolage 700 | 1.05 |
| 48 | 48px | H1 pagina · H1 mobiel 36 | Bricolage 700 | 1.05 |
| 36 | 36px | H2 desktop · mobiel 28 | Bricolage 700 | 1.1 |
| 28 | 28px | H2 mobiel · grote prijs | Bricolage 700 | 1.1 |
| 22 | 22px | H3, kaarttitel | Bricolage 600 | 1.15 |
| 18 | 18–20px | Lead, intro | Plex Sans 400 | 1.5 |
| 16 | 16px | Body | Plex Sans 400 | 1.55 |
| 14 | 14–15px | UI-tekst, tabellen, knoppen | Plex Sans 500/600 | 1.45 |
| 12 | 12px | Labels, badges, eyebrow (caps, +.06–.08em) | Plex Sans 600 | 1.3 |
Alle afstanden komen uit één schaal. Secties ademen op 96px desktop en 56px mobiel; componenten op 16 en 24.
Waarom: negen stappen zijn genoeg voor elke layout en te weinig om willekeurige pixelwaarden te verleiden.
Container 1200px, 12 kolommen, gutter 24px. Mobiel 4 kolommen, gutter 16px, zijmarge 16px.
Waarom: 12 kolommen delen door 2, 3, 4 en 6, wat precies de kaartrasters zijn die de site nodig heeft (twee ingangen, drie cases, vier domeinen, zes merken).
Waarom: 6px op controls en 12px op kaarten is scherp genoeg voor een security-merk en zacht genoeg om niet als formulier uit 2005 te lezen; 20px is alleen voor device-frames en sheets.
Elke component hieronder is echte markup met de klassen die het prototype en de Vue-componenten gebruiken.
.btnHoogte 44px, radius r-1, Plex Sans 600 15px. Primary is altijd koper-600 (wit erop haalt 4,9:1), secondary is een petrol-outline, ghost is tekst met pijl.
Waarom: 44px haalt de aanraaknorm op mobiel zonder op desktop log te ogen, en één knopkleur maakt de CTA-hiërarchie afdwingbaar in code.
.cardSurface, 1px lijn, r-2, padding 24. Geen linker-accentbalk, geen schaduw in rust. Featured-cards zijn ink met on-dark tekst.
Netwerk, webapplicatie, API en Azure-audit. CVSS 3.1-gescoord, retest inbegrepen.
Bekijk scopeEigen e-learning, phishing- en vishing-simulaties. Meetbaar: klikratio per afdeling.
Bekijk programma24/7 MDR met Arctic Wolf, kwetsbaarheidsbeheer met Qualys VMDR. Eén SOC-contact voor uw team.
Plan een gesprekWaarom: één featured-card per raster geeft de belangrijkste dienst gewicht zonder een extra kleur toe te voegen.
.badge-valPill, 12px 600 caps. Altijd naast de productnaam, nooit als knop.
Waarom: de badge is het enige element waar een klant op vergelijkt; hij moet in een tabel, een kaart en een menu identiek lezen.
.pricing-tableProduct, validatie, looptijd, prijs per jaar, actie. Prijzen in mono met tabular-nums; vanaf-prijzen per jaar zoals in de webshop, excl. btw. Slechts één rij toont hier de knop; in de vergelijker heeft elke rij er een.
| Product | Validatie | Levertijd | Prijs per jaar | |
|---|---|---|---|---|
| Basic SSL DVNetworking4all | DV | 15 minuten | € 38,35 excl. btw | |
| Business SSL OVNetworking4all | OV | 1-2 dagen | € 113,91 excl. btw | |
| True BusinessIDGeoTrust | OV | 1-2 dagen | € 159,53 excl. btw | |
| OrganizationSSLGlobalSign | OV | 1-2 dagen | € 215,42 excl. btw | Bestel |
| Business SSL EVNetworking4all | EV | 2-4 dagen | € 164,67 excl. btw |
Waarom: het merk staat als bijschrift onder de productnaam, zodat de klant eerst op behoefte kiest en pas daarna op fabrikant.
.partner-stripTekst-wordmarks in text-3. Echte logo’s komen in productie in grijstint, nooit in kleur en nooit boven de vouw.
Waarom: grijs houdt zes merken visueel gelijk en houdt de aandacht bij de koperen knop.
.trust-barVier feiten die kloppen, direct onder de hero: locatie, bereikbaarheid, partners en reviews. Geen cijfers die niet onderbouwd zijn.
Waarom: social proof boven de vouw is het goedkoopste conversiemiddel dat de huidige site mist.
.formLabels boven het veld, 44px inputs, r-1. Een fout zegt wat er mis is én hoe je het oplost.
Waarom: de foutmelding vertelt de oplossing, niet alleen het probleem; dat scheelt de helft van de afhakers op offerteformulieren.
.navDe vervanger van het mega-menu met 60+ links: één rij, twee dropdowns met maximaal twee niveaus, zoeken, taal, cart, login en één CTA. Werkt met muis en toetsenbord (Enter/Spatie opent, pijltjes navigeren, Escape sluit).
Waarom: twee niveaus dwingen redactionele keuzes af: elk product krijgt één plek, gegroepeerd op hoe een klant zoekt (type, validatie, tool) in plaats van hoe het bedrijf is georganiseerd.
Op schermen onder 900px wordt de rij een full-screen sheet met een accordion per hoofdgroep. Dezelfde twee niveaus, dezelfde volgorde, CTA onderaan altijd zichtbaar.
Waarom: een accordion houdt de twee niveaus intact op mobiel en laat de CTA staan, waar een uitschuifmenu met 60 links hem juist verbergt.
Kopieer dit blok naar resources/css/tokens.css. Elke Vue-component en elk Storyblok-blok leest uitsluitend deze variabelen.
:root{
--ink:#0E1B26; --ink-2:#16283A;
--petrol-900:#0F3A47; --petrol-700:#14505F; --petrol-500:#1E7A8C; --petrol-300:#6FB3C0; --petrol-100:#DCEEF1;
--koper-700:#9E4519; --koper-600:#B8531F; --koper-500:#D8622A; --koper-300:#F0A77E; --koper-100:#FBE9DF;
--bg:#F6F8F9; --surface:#FFFFFF; --surface-2:#EEF2F4; --line:#D9E0E4; --line-strong:#B9C4CB;
--text:#0E1B26; --text-2:#465A66; --text-3:#5F717C; --on-dark:#F2F6F7; --on-dark-2:#B8C7CE;
--ok:#1F8A4C; --warn:#C7860B; --danger:#C2352B; --info:#1E7A8C;
--dv:#5B6B76; --ov:#1E7A8C; --ev:#8A5A0B; --ev-bg:#FBF1D9; --qual:#5B3FA6; --qual-bg:#EDE8F8;
--r-1:6px; --r-2:12px; --r-3:20px; --r-pill:999px;
--s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
--shadow-1:0 1px 2px rgba(14,27,38,.06),0 1px 3px rgba(14,27,38,.08);
--shadow-2:0 8px 24px -8px rgba(14,27,38,.18);
--focus:0 0 0 3px #F6F8F9,0 0 0 6px var(--petrol-500);
--font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,"Helvetica Neue",Arial,sans-serif;
--font-body:"IBM Plex Sans",ui-sans-serif,system-ui,"Helvetica Neue",Arial,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--container:1200px; --gutter:24px;
}
/* dark */
[data-theme="dark"]{
--bg:#0B151D; --surface:#12212C; --surface-2:#182B38; --line:#243947; --line-strong:#375062;
--text:#EAF1F4; --text-2:#B8C7CE; --text-3:#87A0AC; --on-dark:#F2F6F7;
--petrol-100:#143441; --koper-100:#3A2418; --ev-bg:#3A2C10; --qual-bg:#2A2140;
--ev:#E0B457; --qual:#B9A3EE; --dv:#9FB0BA;
--shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 8px 24px -8px rgba(0,0,0,.6);
--focus:0 0 0 3px #0B151D,0 0 0 6px var(--petrol-300);
}
Eén tokens.css in Vite, geladen vóór alle andere stijlen. Google Fonts via <link rel="preload"> in de Blade-layout. Het data-theme-attribuut op <html> komt uit een cookie, zodat dark mode zonder flits rendert.
Elke component hierboven wordt één SFC: N4aButton, N4aCard, N4aBadgeVal, N4aPricingTable, N4aTrustBar, N4aForm*, N4aNav. Props volgen de varianten (variant="primary|secondary|ghost", level="dv|ov|ev|qual"). Geen inline-kleuren buiten de tokens.
Secties uit de hifi-schermen worden bloks: hero_split, trust_bar, service_cards, case_highlight, cta_block, pricing_table, process_steps, faq. De redactie kiest uit bloks, niet uit kleuren; NL en EN zijn twee folders met dezelfde bloks.
Waarom: tokens in CSS-variabelen betekenen dat een merkkleur-wijziging één regel is, en dat Storyblok-redacteuren nooit iets buiten het systeem kunnen zetten.