PageSourceSearch

https://paul.reviews/

html paul.reviews collected 2026-09-25 21:15:36 UTC 63,764 bytes, 1,254 lines download raw bytes

1
2<!DOCTYPE html>
3<html lang="en" data-color-scheme="light" dir="ltr">
4  <head>
5    <title>Paul Moore: Information Security Consultant &amp; Researcher</title>
6    <meta charset="utf-8">
7    <meta name="viewport" content="width=device-width, initial-scale=1.0">
8    <meta name="view-transition" content="same-origin"> 
9    
10    
11<link rel="preconnect" href="https://fonts.bunny.net" crossorigin>
12<link rel="stylesheet" href="https://fonts.bunny.net/css?family=inter:100,200,300,400,500,600,700,800,900,100i,200i,300i,400i,500i,600i,700i,800i,900i
13&display=swap">
14<link rel="stylesheet" href="https://fonts.bunny.net/css?family=fira-sans:100,200,300,400,500,600,700,800,900,100i,200i,300i,400i,500i,600i,700i,800i,900i
15&display=swap">
16
17
18<style>
19  :root {
20    --color-accent: #d70947;
21    --cover-image: url(https://paul.reviews/content/images/2019/10/20190524_001312.jpg);
22    --font-heading: var(--gh-font-heading, "Inter");
23    --font-body: var(--gh-font-body, "Fira Sans");
24    --post-card-image-aspect-ratio: 16/9;
25    --radius-card: 12px;
26  }
27</style>
28
29<script>
30  window.themeConfig = {
31    colorScheme: "light",
32    site: {
33      url: "https://paul.reviews",
34      title: "Paul Moore: Information Security Consultant &amp; Researcher",
35      description: "Paul Moore: Information Security Consultant &amp; Researcher",
36      accentColor: "#d70947",
37      icon: "https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400-2.jpg",
38      facebook: "",
39      twitter: "@paul_reviews",
40      primaryNavigation: [
41          {
42            label: "Home",
43            url: "https://paul.reviews"
44          },
45          {
46            label: "Twitter",
47            url: "https://twitter.com/paul_reviews"
48          },
49          {
50            label: "Email Me",
51            url: "mailto:[email protected]"
52          },
53      ],
54      secondaryNavigation: [
55      ]
56    }
57  }
58</script>
58
59
60
61    <link rel="stylesheet" type="text/css" href="/assets/build/style.css?v=cuOq2iyAg7cq-yFD">
62    <link rel="manifest" data-manifest />
63
64    
64<script type="module" src="/assets/build/main.js?v=Z7T24uSJU1BXpjis"></script>
64
65
66    <meta name="description" content="Paul Moore: Information Security Consultant &amp; Researcher">
67    <link rel="icon" href="https://paul.reviews/content/images/size/w256h256/format/jpeg/2026/09/fnNCyHOc_400x400-2.jpg" type="image/jpeg">
68    <link rel="canonical" href="https://paul.reviews/">
69    <meta name="referrer" content="no-referrer-when-downgrade">
70    <link rel="next" href="https://paul.reviews/page/2/">
71    
72    <meta property="og:site_name" content="Paul Moore: Information Security Consultant &amp; Researcher">
73    <meta property="og:type" content="website">
74    <meta property="og:title" content="Paul Moore: Information Security Consultant &amp; Researcher">
75    <meta property="og:description" content="Paul Moore: Information Security Consultant &amp; Researcher">
76    <meta property="og:url" content="https://paul.reviews/">
77    <meta property="og:image" content="https://paul.reviews/content/images/size/w1200/2022/04/header_image-2.jpg">
78    <meta name="twitter:card" content="summary_large_image">
79    <meta name="twitter:title" content="Paul Moore: Information Security Consultant &amp; Researcher">
80    <meta name="twitter:description" content="Paul Moore: Information Security Consultant &amp; Researcher">
81    <meta name="twitter:url" content="https://paul.reviews/">
82    <meta name="twitter:image" content="https://paul.reviews/content/images/size/w1200/2022/04/header_image-1.jpg">
83    <meta name="twitter:site" content="@paul_reviews">
84    <meta property="og:image:width" content="1200">
85    <meta property="og:image:height" content="900">
86    
87    
87<script type="application/ld+json">
88{
89    "@context": "https://schema.org",
90    "@type": "WebSite",
91    "publisher": {
92        "@type": "Organization",
93        "name": "Paul Moore: Information Security Consultant & Researcher",
94        "url": "https://paul.reviews/",
95        "logo": {
96            "@type": "ImageObject",
97            "url": "https://paul.reviews/content/images/2026/09/ChatGPT-Image-Sep-15--2026--06_47_01-PM.png",
98            "width": 60,
99            "height": 60
100        }
101    },
102    "url": "https://paul.reviews/",
103    "name": "Paul Moore: Information Security Consultant & Researcher",
104    "image": {
105        "@type": "ImageObject",
106        "url": "https://paul.reviews/content/images/size/w1200/2019/10/20190524_001312.jpg",
107        "width": 1200,
108        "height": 625
109    },
110    "mainEntityOfPage": "https://paul.reviews/",
111    "description": "Paul Moore: Information Security Consultant & Researcher"
112}
113    </script>
113
114
115    <meta name="generator" content="Ghost 6.63">
116    <link rel="alternate" type="application/rss+xml" title="Paul Moore: Information Security Consultant &amp; Researcher" href="https://paul.reviews/rss/">
117    
118    
118<script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/sodo-search.min.js" data-key="be77b651957bed6ea3b23475cc" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/main.css" data-sodo-search="https://paul.reviews/" data-locale="en" crossorigin="anonymous"></script>
118
119    
120    <link href="https://paul.reviews/webmentions/receive/" rel="webmention">
121    
121<script defer src="/public/cards.min.js?v=ShRHxgy4po8zN-Wf"></script>
121<style>:root {--ghost-accent-color: #d70947;}</style>
122    <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=WwnU9jw5ancNC8Gc">
123    <style>
124.author,
125.author-card,
126.author-box,
127.author-profile {
128    display: none !important;
129}
130</style>
131  </head>
132  <body class="home-template">
133    
134<div class="w-screen">
135  
136<div
137  data-nav-close
138  class="
139    fixed inset-0 bg-black/20 backdrop-blur-xs z-10 opacity-0 pointer-events-none transition-opacity duration-250
140
141    xl:hidden max-xl:[body[data-nav-open='true']_&]:opacity-100 max-xl:[body[data-nav-open='true']_&]:pointer-events-auto
142  "
143>
144</div>
145
146<aside 
147  class="
148    site-sidebar 
149    
150    fixed top-0 h-screen bg-page border-r border-stroke w-(--site-sidebar-width) z-20 transition-transform duration-250
151    
152    max-xl:-translate-x-full max-xl:[body[data-nav-open='true']_&]:translate-x-0   
153  "
154>
155  <div class="flex flex-col pt-6 pb-16 px-8 max-h-full min-h-screen no-scrollbar overflow-y-auto">
156    <div class="flex items-center justify-between mb-8">
157      
158<a href="https://paul.reviews" class="site-logo " style="" aria-label="Paul Moore: Information Security Consultant &amp; Researcher - Home">
159    <img src="/content/images/2026/09/ChatGPT-Image-Sep-15--2026--06_47_01-PM.png" alt="Paul Moore: Information Security Consultant &amp; Researcher" loading="eager" class="logo"/>
160</a>
161    </div>
162
163      <p class="max-md:hidden text-sm text-content-muted mb-8">Paul Moore: Information Security Consultant &amp; Researcher</p>
164
165    <div class="flex items-center relative w-full mb-8 z-10 xl:hidden" data-ghost-search>
166      <span data-icon="search" class="absolute left-3 top-1/2 -translate-y-1/2 z-1 text-content-alt text-sm"></span>
167      <input type="text" placeholder='Search...' class="w-full input pl-9 shadow-2xs">
168      <span class="absolute right-3 top-1/2 -translate-y-1/2 z-1 text-content-muted text-xs opacity-80" data-search-hint>⌘K</span>
169    </div>
170
171    <menu-nav
172      class="flex flex-1"
173      values-path="themeConfig.site.primaryNavigation"
174      orientation="vertical"
175      nav-class="text-sm"
176      item-class="group w-full flex items-center py-1.5 pr-3 h-8 aria-[current=page]:font-bold aria-[current=page]:text-accent"
177      group-class="flex flex-col whitespace-nowrap flex-wrap h-fit w-full not-first:mt-8"
178      group-header-class="font-medium text-content-alt mb-2 h-5"
179      group-item-class="group w-full flex items-center py-1.5 pl-4 pr-3 h-8 border-l border-stroke/70 aria-[current=page]:font-bold aria-[current=page]:border-l-accent hover:border-l-content/50 aria-[current=page]:text-accent"
180      icon-class="w-4 h-4 line-height-1 mr-3 opacity-70 group-aria-[current=page]:opacity-100 group-hover:opacity-95 transition-opacity duration-250"
181      aria-label="Primary Navigation"
182    ></menu-nav>
183
184    <social-icons class="xl:hidden mt-16 text-sm opacity-90 hover:opacity-100 transition-opacity duration-250" aria-label="Mobile Social Media Links"></social-icons>
185    
186  </div>
187  
188  <div class="sticky max-xl:hidden bottom-0 py-4 px-8 border-t  bg-page/80 backdrop-blur-xs w-full">
189    <social-icons class="text-sm opacity-90 hover:opacity-100 transition-opacity duration-250" aria-label="Desktop Social Media Links"></social-icons>
190  </div>
191</aside>
192  <div class="site-content w-full xl:pl-(--site-sidebar-width)">
193
194    <header class="container relative z-1 items-center justify-between !py-6 hidden xl:flex">
195      <div class="flex items-center relative w-76" data-ghost-search>
196        <span data-icon="search" class="absolute left-3 top-1/2 -translate-y-1/2 z-1 text-content-alt text-sm"></span>
197        <input type="text" placeholder='Search...' class="w-full input pl-9 shadow-2xs">
198        <span class="absolute right-3 top-1/2 -translate-y-1/2 z-1 text-content-muted text-xs opacity-90" data-search-hint>⌘K</span>
199      </div>
200
201      
202    </header>
203
204    <header class="container relative z-1 flex items-center justify-between !py-6 xl:hidden" data-color-scheme="">
205      
206<a href="https://paul.reviews" class="site-logo " style="" aria-label="Paul Moore: Information Security Consultant &amp; Researcher - Home">
207    <img src="/content/images/2026/09/ChatGPT-Image-Sep-15--2026--06_47_01-PM.png" alt="Paul Moore: Information Security Consultant &amp; Researcher" loading="eager" class="logo"/>
208</a>
209      <div role="button" tabindex="0" aria-label="Open navigation menu" class="group flex items-center justify-center w-9 h-9 text-content-alt" data-nav-toggle>
210        <span data-icon="menu_search" class="text-2xl group-hover:scale-105 transition-transform ease-out-quad duration-400 text-content-alt"></span>
211      </div>
212    </header>
213
214    <main id="site-main" role="main" class="container !mt-3">
215      
216
217
218    <div data-posts class="featured-posts posts-group grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 sm:gap-8 sm:gap-y-5 mb-6 sm:mb-8 text-shadow-md">
219        
220<article
221  
222  data-post-id="6aa9886018405a8ea1adc1d9"
223  style="--hover-bg-color:var(--color-page-alt); "
224  class="
225    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
226    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
227    
228    relative z-0 sm:col-span-2 sm:row-span-2 aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden
229  ">
230
231    
232  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover absolute w-full h-full aspect-auto">
233    <img
234      alt="HarmBlock+ World&#x27;s Safest Smartphone: Please Rotate Responsibly."
235      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
236      loading="lazy"
237      src="/content/images/size/w600/2026/09/banner2.png" 
238      srcset="/content/images/2026/09/banner2.png 320w, 
239              /content/images/size/w600/2026/09/banner2.png 600w, 
240              /content/images/size/w960/2026/09/banner2.png 960w, 
241              /content/images/size/w1200/2026/09/banner2.png 1200w, 
242              /content/images/size/w2000/2026/09/banner2.png 2000w"
243    >
244      <a href="https://paul.reviews/harmblock-worlds-safest-smartphone-please-rotate-responsibly/" class="absolute inset-0 z-10" aria-label="Read: HarmBlock+ World's Safest Smartphone: Please Rotate Responsibly."></a>
245  </figure>
246
247  <a href="/harmblock-worlds-safest-smartphone-please-rotate-responsibly/" class="absolute inset-0 z-0" aria-label="Read: HarmBlock+ World&#x27;s Safest Smartphone: Please Rotate Responsibly."></a>
248
249  <div class="post-card-content flex flex-col absolute inset-0 justify-end p-4 sm:p-6 bg-gradient-to-b from-transparent to-black/40 z-10 text-white pointer-events-none *:pointer-events-auto">
250
251    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
252      -mt-9 mb-5 mx-3 relative z-10
253      hidden sm:flex !mx-0 !my-2">
254
255
256    </div>
257
258    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 !text-2xl sm:!text-5xl text-white">
259      <a href="/harmblock-worlds-safest-smartphone-please-rotate-responsibly/">HarmBlock+ World&#x27;s Safest Smartphone: Please Rotate Responsibly.</a>
260    </h2>
261
262    <a href="/harmblock-worlds-safest-smartphone-please-rotate-responsibly/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 !line-clamp-3">
263        ** NSFW Warning **
264
265Back in July 2025, the Online Safety Act was a hot topic. Many sites were frantically adding age verification under threat of criminal prosecution, if they failed to protect children from online harm.
266
267The law, technology and implementations were... flawed; I presented an AI-generated video of the-then Technology Secretary, Peter Kyle, in order to skip intrusive censorship. That turned out to be unnecessary, as a smiley face drawn on a thumb also bypassed the &quot;robust&quot; verific
268    </a>
269
270    <footer class="flex items-center gap-1.5 mt-2 text-xs hidden sm:flex pt-4 mt-4 border-t border-stroke/20">
271        <div class="post-card-author flex items-center gap-2">
272            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
273          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
274        </div>
275        <span class="text-[0.75em] opacity-65">•</span>
276      <time class="opacity-80" datetime="2026-09-22">
277        <span>3 days ago</span>
278        <span class="hidden">Sep 22, 2026</span>
279      </time>
280    </footer>
281  </div>
282</article>
283        
284<article
285  
286  data-post-id="6aa9420c9a33388bd4fe6377"
287  style="--hover-bg-color:var(--color-page-alt); "
288  class="
289    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
290    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
291    
292    relative z-0 aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden
293  ">
294
295    
296  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover absolute w-full h-full aspect-auto">
297    <img
298      alt="The shocking state of ZPos: Order takeaway &amp; pay what you like."
299      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
300      loading="lazy"
301      src="/content/images/size/w600/2025/06/logo.png" 
302      srcset="/content/images/2025/06/logo.png 320w, 
303              /content/images/size/w600/2025/06/logo.png 600w, 
304              /content/images/size/w960/2025/06/logo.png 960w, 
305              /content/images/size/w1200/2025/06/logo.png 1200w, 
306              /content/images/size/w2000/2025/06/logo.png 2000w"
307    >
308      <figcaption class="hidden">The shocking state of ZPos. Order takeaway &amp; pay what you like.</figcaption>
309      <a href="https://paul.reviews/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/" class="absolute inset-0 z-10" aria-label="Read: The shocking state of ZPos: Order takeaway & pay what you like."></a>
310  </figure>
311
312  <a href="/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/" class="absolute inset-0 z-0" aria-label="Read: The shocking state of ZPos: Order takeaway &amp; pay what you like."></a>
313
314  <div class="post-card-content flex flex-col absolute inset-0 justify-end p-4 bg-gradient-to-b from-transparent to-black/40 z-10 text-white pointer-events-none *:pointer-events-auto">
315
316    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
317      -mt-9 mb-5 mx-3 relative z-10
318      hidden !mx-0 !my-2">
319
320
321    </div>
322
323    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 !text-2xl sm:!text-xl text-white">
324      <a href="/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/">The shocking state of ZPos: Order takeaway &amp; pay what you like.</a>
325    </h2>
326
327    <a href="/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 !line-clamp-3 sm:!line-clamp-2">
328        In July 2020, I ordered a takeaway from Napolis Pizza.
329
330Like many firms across the UK, they use ZPos for their websites and electronic point of sale. A snazzy website, simple &amp; easy to use ordering and minimal processing fees (compared to others in this space), it seems like a great deal for businesses and consumers alike.
331
332However, it quickly became clear that far from the &quot;super secure&quot; service they promote, it&#39;s an absolute mess which only places their client - and subsequently you &amp; I - at c
333    </a>
334
335    <footer class="flex items-center gap-1.5 mt-2 text-xs hidden lg:flex pt-3 mt-3 border-t border-stroke/20">
336        <div class="post-card-author flex items-center gap-2">
337            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
338          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
339        </div>
340        <span class="text-[0.75em] opacity-65">•</span>
341      <time class="opacity-80" datetime="2025-06-19">
342        <span>a year ago</span>
343        <span class="hidden">Jun 19, 2025</span>
344      </time>
345    </footer>
346  </div>
347</article>
348        
349<article
350  
351  data-post-id="6aa9420c9a33388bd4fe6376"
352  style="--hover-bg-color:var(--color-page-alt); "
353  class="
354    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
355    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
356    
357    relative z-0 aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden
358  ">
359
360    
361  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover absolute w-full h-full aspect-auto">
362    <img
363      alt="Tiffin Tom: Fish, chips and a side of identity theft"
364      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
365      loading="lazy"
366      src="/content/images/size/w600/2023/07/1.png" 
367      srcset="/content/images/2023/07/1.png 320w, 
368              /content/images/size/w600/2023/07/1.png 600w, 
369              /content/images/size/w960/2023/07/1.png 960w, 
370              /content/images/size/w1200/2023/07/1.png 1200w, 
371              /content/images/size/w2000/2023/07/1.png 2000w"
372    >
373      <a href="https://paul.reviews/tiffin-tom-fish-chips-and-a-side-of-identity-theft/" class="absolute inset-0 z-10" aria-label="Read: Tiffin Tom: Fish, chips and a side of identity theft"></a>
374  </figure>
375
376  <a href="/tiffin-tom-fish-chips-and-a-side-of-identity-theft/" class="absolute inset-0 z-0" aria-label="Read: Tiffin Tom: Fish, chips and a side of identity theft"></a>
377
378  <div class="post-card-content flex flex-col absolute inset-0 justify-end p-4 bg-gradient-to-b from-transparent to-black/40 z-10 text-white pointer-events-none *:pointer-events-auto">
379
380    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
381      -mt-9 mb-5 mx-3 relative z-10
382      hidden !mx-0 !my-2">
383
384        <a href="https://paul.reviews/tag/tiffintom/" class="post-card__tag flex items-center w-fit roun
384ded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
385          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
386          ">
387          tiffintom
388        </a>
389
390    </div>
391
392    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 !text-2xl sm:!text-xl text-white">
393      <a href="/tiffin-tom-fish-chips-and-a-side-of-identity-theft/">Tiffin Tom: Fish, chips and a side of identity theft</a>
394    </h2>
395
396    <a href="/tiffin-tom-fish-chips-and-a-side-of-identity-theft/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 !line-clamp-3 sm:!line-clamp-2">
397        Apart from leaking everything, there&#x27;s been &quot;no breech&quot;.
398
399Avoid Tiffin Tom.
400    </a>
401
402    <footer class="flex items-center gap-1.5 mt-2 text-xs hidden lg:flex pt-3 mt-3 border-t border-stroke/20">
403        <div class="post-card-author flex items-center gap-2">
404            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
405          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
406        </div>
407        <span class="text-[0.75em] opacity-65">•</span>
408      <time class="opacity-80" datetime="2023-07-01">
409        <span>3 years ago</span>
410        <span class="hidden">Jul 01, 2023</span>
411      </time>
412    </footer>
413  </div>
414</article>
415    </div>
416
417
418
419
420<div data-posts class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 sm:gap-8 sm:mt-3">
421    
422<article
423  
424  data-post-id="6aa9886018405a8ea1adc1d9"
425  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 0)"
426  class="
427    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
428    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
429    
430    
431  ">
432
433    
434  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
435    <img
436      alt="HarmBlock+ World&#x27;s Safest Smartphone: Please Rotate Responsibly."
437      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
438      loading="lazy"
439      src="/content/images/size/w600/2026/09/banner2.png" 
440      srcset="/content/images/2026/09/banner2.png 320w, 
441              /content/images/size/w600/2026/09/banner2.png 600w, 
442              /content/images/size/w960/2026/09/banner2.png 960w, 
443              /content/images/size/w1200/2026/09/banner2.png 1200w, 
444              /content/images/size/w2000/2026/09/banner2.png 2000w"
445    >
446      <a href="https://paul.reviews/harmblock-worlds-safest-smartphone-please-rotate-responsibly/" class="absolute inset-0 z-10" aria-label="Read: HarmBlock+ World's Safest Smartphone: Please Rotate Responsibly."></a>
447  </figure>
448
449  <a href="/harmblock-worlds-safest-smartphone-please-rotate-responsibly/" class="absolute inset-0 z-0" aria-label="Read: HarmBlock+ World&#x27;s Safest Smartphone: Please Rotate Responsibly."></a>
450
451  <div class="post-card-content flex flex-col ">
452
453    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
454      -mt-9 mb-5 mx-3 relative z-10
455      ">
456
457
458    </div>
459
460    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
461      <a href="/harmblock-worlds-safest-smartphone-please-rotate-responsibly/">HarmBlock+ World&#x27;s Safest Smartphone: Please Rotate Responsibly.</a>
462    </h2>
463
464    <a href="/harmblock-worlds-safest-smartphone-please-rotate-responsibly/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
465        ** NSFW Warning **
466
467Back in July 2025, the Online Safety Act was a hot topic. Many sites were frantically adding age verification under threat of criminal prosecution, if they failed to protect children from online harm.
468
469The law, technology and implementations were... flawed; I presented an AI-generated video of the-then Technology Secretary, Peter Kyle, in order to skip intrusive censorship. That turned out to be unnecessary, as a smiley face drawn on a thumb also bypassed the &quot;robust&quot; verific
470    </a>
471
472    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
473        <div class="post-card-author flex items-center gap-2">
474            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
475          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
476        </div>
477        <span class="text-[0.75em] opacity-65">•</span>
478      <time class="opacity-80" datetime="2026-09-22">
479        <span>3 days ago</span>
480        <span class="hidden">Sep 22, 2026</span>
481      </time>
482    </footer>
483  </div>
484</article>
485    
486<article
487  
488  data-post-id="6aa9420c9a33388bd4fe6377"
489  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 1)"
490  class="
491    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
492    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
493    
494    
495  ">
496
497    
498  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
499    <img
500      alt="The shocking state of ZPos: Order takeaway &amp; pay what you like."
501      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
502      loading="lazy"
503      src="/content/images/size/w600/2025/06/logo.png" 
504      srcset="/content/images/2025/06/logo.png 320w, 
505              /content/images/size/w600/2025/06/logo.png 600w, 
506              /content/images/size/w960/2025/06/logo.png 960w, 
507              /content/images/size/w1200/2025/06/logo.png 1200w, 
508              /content/images/size/w2000/2025/06/logo.png 2000w"
509    >
510      <figcaption class="hidden">The shocking state of ZPos. Order takeaway &amp; pay what you like.</figcaption>
511      <a href="https://paul.reviews/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/" class="absolute inset-0 z-10" aria-label="Read: The shocking state of ZPos: Order takeaway & pay what you like."></a>
512  </figure>
513
514  <a href="/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/" class="absolute inset-0 z-0" aria-label="Read: The shocking state of ZPos: Order takeaway &amp; pay what you like."></a>
515
516  <div class="post-card-content flex flex-col ">
517
518    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
519      -mt-9 mb-5 mx-3 relative z-10
520      ">
521
522
523    </div>
524
525    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
526      <a href="/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/">The shocking state of ZPos: Order takeaway &amp; pay what you like.</a>
527    </h2>
528
529    <a href="/the-shocking-state-of-zpos-order-takeaway-pay-what-you-like/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
530        In July 2020, I ordered a takeaway from Napolis Pizza.
531
532Like many firms across the UK, they use ZPos for their websites and electronic point of sale. A snazzy website, simple &amp; easy to use ordering and minimal processing fees (compared to others in this space), it seems like a great deal for businesses and consumers alike.
533
534However, it quickly became clear that far from the &quot;super secure&quot; service they promote, it&#39;s an absolute mess which only places their client - and subsequently you &amp; I - at c
535    </a>
536
537    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
538        <div class="post-card-author flex items-center gap-2">
539            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
540          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
541        </div>
542        <span class="text-[0.75em] opacity-65">•</span>
543      <time class="opacity-80" datetime="2025-06-19">
544        <span>a year ago</span>
545        <span class="hidden">Jun 19, 2025</span>
546      </time>
547    </footer>
548  </div>
549</article>
550    
551<article
552  
553  data-post-id="6aa9420c9a33388bd4fe6376"
554  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 2)"
555  class="
556    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
557    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
558    
559    
560  ">
561
562    
563  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
564    <img
565      alt="Tiffin Tom: Fish, chips and a side of identity theft"
566      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
567      loading="lazy"
568      src="/content/images/size/w600/2023/07/1.png" 
569      srcset="/content/images/2023/07/1.png 320w, 
570              /content/images/size/w600/2023/07/1.png 600w, 
571              /content/images/size/w960/2023/07/1.png 960w, 
572              /content/images/size/w1200/2023/07/1.png 1200w, 
573              /content/images/size/w2000/2023/07/1.png 2000w"
574    >
575      <a href="https://paul.reviews/tiffin-tom-fish-chips-and-a-side-of-identity-theft/" class="absolute inset-0 z-10" aria-label="Read: Tiffin Tom: Fish, chips and a side of identity theft"></a>
576  </figure>
577
578  <a href="/tiffin-tom-fish-chips-and-a-side-of-identity-theft/" class="absolute inset-0 z-0" aria-label="Read: Tiffin Tom: Fish, chips and a side of identity theft"></a>
579
580  <div class="post-card-content flex flex-col ">
581
582    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
583      -mt-9 mb-5 mx-3 relative z-10
584      ">
585
586        <a href="https://paul.reviews/tag/tiffintom/" class="post-card__tag flex items-center w-fit rounded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
587          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
588          ">
589          tiffintom
590        </a>
591
592    </div>
593
594    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
595      <a href="/tiffin-tom-fish-chips-and-a-side-of-identity-theft/">Tiffin Tom: Fish, chips and a side of identity theft</a>
596    </h2>
597
598    <a href="/tiffin-tom-fish-chips-and-a-side-of-identity-theft/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
599        Apart from leaking everything, there&#x27;s been &quot;no breech&quot;.
600
601Avoid Tiffin Tom.
602    </a>
603
604    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
605        <div class="post-card-author flex items-center gap-2">
606            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
607          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
608        </div>
609        <span class="text-[0.75em] opacity-65">•</span>
610      <time class="opacity-80" datetime="2023-07-01">
611        <span>3 years ago</span>
612        <span class="hidden">Jul 01, 2023</span>
613      </time>
614    </footer>
615  </div>
616</article>
617    
618<article
619  
620  data-post-id="6aa9420c9a33388bd4fe6375"
621  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 3)"
622  class="
623    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
624    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
625    
626    
627  ">
628
629    
630  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
631    <img
632      alt="Police CyberAlarm: Abysmal security, yet again."
633      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
634      loading="lazy"
635      src="/content/images/size/w600/2022/04/small-4.png" 
636      srcset="/content/images/2022/04/small-4.png 320w, 
637              /content/images/size/w600/2022/04/small-4.png 600w, 
638              /content/images/size/w960/2022/04/small-4.png 960w, 
639              /content/images/size/w1200/2022/04/small-4.png 1200w, 
640              /content/images/size/w2000/2022/04/small-4.png 2000w"
641    >
642      <a href="https://paul.reviews/police-cyberalarm-abysmal-security-yet-again/" class="absolute inset-0 z-10" aria-label="Read: Police CyberAlarm: Abysmal security, yet again."></a>
643  </figure>
644
645  <a href="/police-cyberalarm-abysmal-security-yet-again/" class="absolute inset-0 z-0" aria-label="Read: Police CyberAlarm: Abysmal security, yet again."></a>
646
647  <div class="post-card-content flex flex-col ">
648
649    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
650      -mt-9 mb-5 mx-3 relative z-10
651      ">
652
653        <a href="https://paul.reviews/tag/security/" class="post-card__tag flex items-center w-fit roun
653ded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
654          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
655          ">
656          security
657        </a>
658
659    </div>
660
661    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
662      <a href="/police-cyberalarm-abysmal-security-yet-again/">Police CyberAlarm: Abysmal security, yet again.</a>
663    </h2>
664
665    <a href="/police-cyberalarm-abysmal-security-yet-again/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
666        3 attempts, 3 complete failures.  Incredibly, cyberAlarm is now even worse than before.
667    </a>
668
669    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
670        <div class="post-card-author flex items-center gap-2">
671            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
672          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
673        </div>
674        <span class="text-[0.75em] opacity-65">•</span>
675      <time class="opacity-80" datetime="2022-04-19">
676        <span>4 years ago</span>
677        <span class="hidden">Apr 19, 2022</span>
678      </time>
679    </footer>
680  </div>
681</article>
682    
683<article
684  
685  data-post-id="6aa9420c9a33388bd4fe6374"
686  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 4)"
687  class="
688    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
689    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
690    
691    
692  ">
693
694    
695  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
696    <img
697      alt="TOFU Attack: Your registration flow is a breach waiting to happen..."
698      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
699      loading="lazy"
700      src="/content/images/size/w600/2026/09/header_image-1.jpg" 
701      srcset="/content/images/2026/09/header_image-1.jpg 320w, 
702              /content/images/size/w600/2026/09/header_image-1.jpg 600w, 
703              /content/images/size/w960/2026/09/header_image-1.jpg 960w, 
704              /content/images/size/w1200/2026/09/header_image-1.jpg 1200w, 
705              /content/images/size/w2000/2026/09/header_image-1.jpg 2000w"
706    >
707      <a href="https://paul.reviews/tofu-attack-your-registration-flow-is-a-breach-waiting-to-happen/" class="absolute inset-0 z-10" aria-label="Read: TOFU Attack: Your registration flow is a breach waiting to happen..."></a>
708  </figure>
709
710  <a href="/tofu-attack-your-registration-flow-is-a-breach-waiting-to-happen/" class="absolute inset-0 z-0" aria-label="Read: TOFU Attack: Your registration flow is a breach waiting to happen..."></a>
711
712  <div class="post-card-content flex flex-col ">
713
714    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
715      -mt-9 mb-5 mx-3 relative z-10
716      ">
717
718        <a href="https://paul.reviews/tag/data/" class="post-card__tag flex items-center w-fit rounded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
719          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
720          ">
721          data
722        </a>
723
724    </div>
725
726    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
727      <a href="/tofu-attack-your-registration-flow-is-a-breach-waiting-to-happen/">TOFU Attack: Your registration flow is a breach waiting to happen...</a>
728    </h2>
729
730    <a href="/tofu-attack-your-registration-flow-is-a-breach-waiting-to-happen/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
731        The risks of failing to validate an email address...
732    </a>
733
734    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
735        <div class="post-card-author flex items-center gap-2">
736            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
737          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
738        </div>
739        <span class="text-[0.75em] opacity-65">•</span>
740      <time class="opacity-80" datetime="2021-03-12">
741        <span>6 years ago</span>
742        <span class="hidden">Mar 12, 2021</span>
743      </time>
744    </footer>
745  </div>
746</article>
747    
748<article
749  
750  data-post-id="6aa9420c9a33388bd4fe6373"
751  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 5)"
752  class="
753    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
754    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
755    
756    
757  ">
758
759    
760  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
761    <img
762      alt="CyberAlarm: Testing the &quot;production version&quot;... and why you should avoid it."
763      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
764      loading="lazy"
765      src="/content/images/size/w600/2020/11/cyber-alarm-3.png" 
766      srcset="/content/images/2020/11/cyber-alarm-3.png 320w, 
767              /content/images/size/w600/2020/11/cyber-alarm-3.png 600w, 
768              /content/images/size/w960/2020/11/cyber-alarm-3.png 960w, 
769              /content/images/size/w1200/2020/11/cyber-alarm-3.png 1200w, 
770              /content/images/size/w2000/2020/11/cyber-alarm-3.png 2000w"
771    >
772      <a href="https://paul.reviews/cyberalarm-testing-the-production-version-and-why-you-should-avoid-it/" class="absolute inset-0 z-10" aria-label="Read: CyberAlarm: Testing the "production version"... and why you should avoid it."></a>
773  </figure>
774
775  <a href="/cyberalarm-testing-the-production-version-and-why-you-should-avoid-it/" class="absolute inset-0 z-0" aria-label="Read: CyberAlarm: Testing the &quot;production version&quot;... and why you should avoid it."></a>
776
777  <div class="post-card-content flex flex-col ">
778
779    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
780      -mt-9 mb-5 mx-3 relative z-10
781      ">
782
783        <a href="https://paul.reviews/tag/cyberalarm/" class="post-card__tag flex items-center w-fit rounded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
784          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
785          ">
786          cyberalarm
787        </a>
788
789    </div>
790
791    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
792      <a href="/cyberalarm-testing-the-production-version-and-why-you-should-avoid-it/">CyberAlarm: Testing the &quot;production version&quot;... and why you should avoid it.</a>
793    </h2>
794
795    <a href="/cyberalarm-testing-the-production-version-and-why-you-should-avoid-it/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
796        Reviewing the &quot;production&quot; build of CyberAlarm.  Good grief - you couldn&#x27;t make it up.
797    </a>
798
799    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
800        <div class="post-card-author flex items-center gap-2">
801            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
802          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
803        </div>
804        <span class="text-[0.75em] opacity-65">•</span>
805      <time class="opacity-80" datetime="2020-12-02">
806        <span>6 years ago</span>
807        <span class="hidden">Dec 02, 2020</span>
808      </time>
809    </footer>
810  </div>
811</article>
812</div>
813
814
815<h2 class="text-2xl font-semibold explore-more-content">Explore More Content</h2>
816
817<div data-posts class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 sm:gap-8 mt-6">
818    
819<article
820  
821  data-post-id="6aa9420c9a33388bd4fe6372"
822  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 6)"
823  class="
824    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
825    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
826    p-6 bg-page-alt rounded-card justify-center hover:bg-transparent transition-all duration-240 ease-out-quad
827    
828  ">
829
830
831  <a href="/cyberalarm-an-independent-security-review-and-why-you-should-avoid-it/" class="absolute inset-0 z-0" aria-label="Read: CyberAlarm: An independent security review... and why you should avoid it."></a>
832
833  <div class="post-card-content flex flex-col ">
834
835    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
836      
837      ">
838
839        <a href="https://paul.reviews/tag/cyberalarm/" class="post-card__tag flex items-center w-fit roun
839ded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
840          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
841          ">
842          cyberalarm
843        </a>
844
845    </div>
846
847    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
848      <a href="/cyberalarm-an-independent-security-review-and-why-you-should-avoid-it/">CyberAlarm: An independent security review... and why you should avoid it.</a>
849    </h2>
850
851    <a href="/cyberalarm-an-independent-security-review-and-why-you-should-avoid-it/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
852        A brief review of CyberAlarm uncovers several serious concerns.  Please read this before you deploy it.
853    </a>
854
855    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
856        <div class="post-card-author flex items-center gap-2">
857            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
858          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
859        </div>
860        <span class="text-[0.75em] opacity-65">•</span>
861      <time class="opacity-80" datetime="2020-11-24">
862        <span>6 years ago</span>
863        <span class="hidden">Nov 24, 2020</span>
864      </time>
865    </footer>
866  </div>
867</article>
868    
869<article
870  
871  data-post-id="6aa9420c9a33388bd4fe6371"
872  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 7)"
873  class="
874    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
875    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
876    p-6 bg-page-alt rounded-card justify-center hover:bg-transparent transition-all duration-240 ease-out-quad
877    
878  ">
879
880
881  <a href="/passwords-why-using-3-random-words-is-a-really-bad-idea/" class="absolute inset-0 z-0" aria-label="Read: Passwords: Using 3 Random Words Is A Really Bad Idea!"></a>
882
883  <div class="post-card-content flex flex-col ">
884
885    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
886      
887      ">
888
889
890    </div>
891
892    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
893      <a href="/passwords-why-using-3-random-words-is-a-really-bad-idea/">Passwords: Using 3 Random Words Is A Really Bad Idea!</a>
894    </h2>
895
896    <a href="/passwords-why-using-3-random-words-is-a-really-bad-idea/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
897        In 2015, the UK government released an article advocating the use of 3 random words in passwords, citing &quot;pragmatism and algorithmic strength against common issues like brute force attacks&quot;.
898
899#Thinkrandom when creating passwords – #use3randomwords to make them https://t.co/6BlS8EqK7v pic.twitter.com/qtA43ffLf6
900
901— Cyber Aware (@cyberawaregov) April 21, 2017
902
903
904
9052 years later and a plethora of respected Twitter users continue to push this advice. If you&#39;re one of them (looking at you @WMPDigitalPCS
906    </a>
907
908    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
909        <div class="post-card-author flex items-center gap-2">
910            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
911          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
912        </div>
913        <span class="text-[0.75em] opacity-65">•</span>
914      <time class="opacity-80" datetime="2017-10-22">
915        <span>9 years ago</span>
916        <span class="hidden">Oct 22, 2017</span>
917      </time>
918    </footer>
919  </div>
920</article>
921    
922<article
923  
924  data-post-id="6aa9420c9a33388bd4fe6370"
925  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 8)"
926  class="
927    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
928    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
929    
930    
931  ">
932
933    
934  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
935    <img
936      alt="SafeBuy: Can you trust a trustmark?"
937      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
938      loading="lazy"
939      src="/content/images/size/w600/2017/10/SBY0010a-SafebuyConsumerCarelogo.jpg" 
940      srcset="/content/images/2017/10/SBY0010a-SafebuyConsumerCarelogo.jpg 320w, 
941              /content/images/size/w600/2017/10/SBY0010a-SafebuyConsumerCarelogo.jpg 600w, 
942              /content/images/size/w960/2017/10/SBY0010a-SafebuyConsumerCarelogo.jpg 960w, 
943              /content/images/size/w1200/2017/10/SBY0010a-SafebuyConsumerCarelogo.jpg 1200w, 
944              /content/images/size/w2000/2017/10/SBY0010a-SafebuyConsumerCarelogo.jpg 2000w"
945    >
946      <a href="https://paul.reviews/safebuy-can-you-trust-a-trustmark/" class="absolute inset-0 z-10" aria-label="Read: SafeBuy: Can you trust a trustmark?"></a>
947  </figure>
948
949  <a href="/safebuy-can-you-trust-a-trustmark/" class="absolute inset-0 z-0" aria-label="Read: SafeBuy: Can you trust a trustmark?"></a>
950
951  <div class="post-card-content flex flex-col ">
952
953    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
954      -mt-9 mb-5 mx-3 relative z-10
955      ">
956
957        <a href="https://paul.reviews/tag/xss/" class="post-card__tag flex items-center w-fit roun
957ded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
958          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
959          ">
960          xss
961        </a>
962
963    </div>
964
965    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
966      <a href="/safebuy-can-you-trust-a-trustmark/">SafeBuy: Can you trust a trustmark?</a>
967    </h2>
968
969    <a href="/safebuy-can-you-trust-a-trustmark/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
970        Private, secure &amp; trusted... or is it?
971    </a>
972
973    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
974        <div class="post-card-author flex items-center gap-2">
975            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
976          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
977        </div>
978        <span class="text-[0.75em] opacity-65">•</span>
979      <time class="opacity-80" datetime="2017-10-06">
980        <span>9 years ago</span>
981        <span class="hidden">Oct 06, 2017</span>
982      </time>
983    </footer>
984  </div>
985</article>
986    
987<article
988  
989  data-post-id="6aa9420c9a33388bd4fe636f"
990  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 9)"
991  class="
992    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
993    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
994    
995    
996  ">
997
998    
999  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
1000    <img
1001      alt="Kervball: The Kerv ring data breach..."
1002      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
1003      loading="lazy"
1004      src="/content/images/size/w600/2017/06/kerv.jpg" 
1005      srcset="/content/images/2017/06/kerv.jpg 320w, 
1006              /content/images/size/w600/2017/06/kerv.jpg 600w, 
1007              /content/images/size/w960/2017/06/kerv.jpg 960w, 
1008              /content/images/size/w1200/2017/06/kerv.jpg 1200w, 
1009              /content/images/size/w2000/2017/06/kerv.jpg 2000w"
1010    >
1011      <a href="https://paul.reviews/kervball-the-kerv-ring-data-breach/" class="absolute inset-0 z-10" aria-label="Read: Kervball: The Kerv ring data breach..."></a>
1012  </figure>
1013
1014  <a href="/kervball-the-kerv-ring-data-breach/" class="absolute inset-0 z-0" aria-label="Read: Kervball: The Kerv ring data breach..."></a>
1015
1016  <div class="post-card-content flex flex-col ">
1017
1018    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
1019      -mt-9 mb-5 mx-3 relative z-10
1020      ">
1021
1022        <a href="https://paul.reviews/tag/security/" class="post-card__tag flex items-center w-fit rounded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
1023          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
1024          ">
1025          security
1026        </a>
1027
1028    </div>
1029
1030    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
1031      <a href="/kervball-the-kerv-ring-data-breach/">Kervball: The Kerv ring data breach...</a>
1032    </h2>
1033
1034    <a href="/kervball-the-kerv-ring-data-breach/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
1035        Here&#x27;s what happened the day my Kerv arrived...
1036    </a>
1037
1038    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
1039        <div class="post-card-author flex items-center gap-2">
1040            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
1041          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
1042        </div>
1043        <span class="text-[0.75em] opacity-65">•</span>
1044      <time class="opacity-80" datetime="2017-06-23">
1045        <span>9 years ago</span>
1046        <span class="hidden">Jun 23, 2017</span>
1047      </time>
1048    </footer>
1049  </div>
1050</article>
1051    
1052<article
1053  
1054  data-post-id="6aa9420c9a33388bd4fe636e"
1055  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 10)"
1056  class="
1057    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
1058    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
1059    
1060    
1061  ">
1062
1063    
1064  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
1065    <img
1066      alt="Don&#x27;t let them paste passwords..."
1067      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
1068      loading="lazy"
1069      src="/content/images/size/w600/2017/02/header-3.png" 
1070      srcset="/content/images/2017/02/header-3.png 320w, 
1071              /content/images/size/w600/2017/02/header-3.png 600w, 
1072              /content/images/size/w960/2017/02/header-3.png 960w, 
1073              /content/images/size/w1200/2017/02/header-3.png 1200w, 
1074              /content/images/size/w2000/2017/02/header-3.png 2000w"
1075    >
1076      <a href="https://paul.reviews/dont-let-them-paste-passwords/" class="absolute inset-0 z-10" aria-label="Read: Don't let them paste passwords..."></a>
1077  </figure>
1078
1079  <a href="/dont-let-them-paste-passwords/" class="absolute inset-0 z-0" aria-label="Read: Don&#x27;t let them paste passwords..."></a>
1080
1081  <div class="post-card-content flex flex-col ">
1082
1083    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
1084      -mt-9 mb-5 mx-3 relative z-10
1085      ">
1086
1087        <a href="https://paul.reviews/tag/2fa/" class="post-card__tag flex items-center w-fit rounded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
1088          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
1089          ">
1090          2fa
1091        </a>
1092
1093    </div>
1094
1095    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
1096      <a href="/dont-let-them-paste-passwords/">Don&#x27;t let them paste passwords...</a>
1097    </h2>
1098
1099    <a href="/dont-let-them-paste-passwords/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
1100        After months of tweets, emails &amp; articles from eminent figures like Troy Hunt &amp; the NCSC, it&#39;s about time I weighed in on the debate surrounding sites which disable a user&#39;s ability to paste passwords.
1101
1102
1103The general consensus amongst many experts, including those mentioned above, is that disabling paste on password fields reduces security; the NCSC went one step further, calling it &quot;completely pointless&quot; and &quot;damaging&quot;.
1104
1105
1106So without further ado, allow me to explain why I believe disabling pas
1107    </a>
1108
1109    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
1110        <div class="post-card-author flex items-center gap-2">
1111            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
1112          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
1113        </div>
1114        <span class="text-[0.75em] opacity-65">•</span>
1115      <time class="opacity-80" datetime="2017-02-18">
1116        <span>10 years ago</span>
1117        <span class="hidden">Feb 18, 2017</span>
1118      </time>
1119    </footer>
1120  </div>
1121</article>
1122    
1123<article
1124  
1125  data-post-id="6aa9420c9a33388bd4fe636d"
1126  style="--hover-bg-color:var(--color-page-alt); animation-delay: calc(0.05s * 11)"
1127  class="
1128    post-card group relative z-0 flex flex-col [--post-card-roundness:calc(var(--radius-card)*2)]
1129    before:absolute before:-inset-3 before:rounded-(--post-card-roundness) before:content-[''] before:bg-(--hover-bg-color) before:opacity-0 before:scale-95 before:transition-all before:-z-10 before:duration-240 before:ease-out-quad hover:before:opacity-100 hover:before:scale-100
1130    
1131    
1132  ">
1133
1134    
1135  <figure class="relative post-card-image w-full aspect-(--post-card-image-aspect-ratio) rounded-card overflow-hidden object-cover ">
1136    <img
1137      alt="How to choose &amp; remember a long, strong &amp; unique password..."
1138      class="group-hover:scale-102 transition-all duration-230 ease-out-quad"
1139      loading="lazy"
1140      src="/content/images/size/w600/2016/11/1P4-Mac-icon.png" 
1141      srcset="/content/images/2016/11/1P4-Mac-icon.png 320w, 
1142              /content/images/size/w600/2016/11/1P4-Mac-icon.png 600w, 
1143              /content/images/size/w960/2016/11/1P4-Mac-icon.png 960w, 
1144              /content/images/size/w1200/2016/11/1P4-Mac-icon.png 1200w, 
1145              /content/images/size/w2000/2016/11/1P4-Mac-icon.png 2000w"
1146    >
1147      <a href="https://paul.reviews/how-to-choose-remember-a-long-strong-unique-password/" class="absolute inset-0 z-10" aria-label="Read: How to choose & remember a long, strong & unique password..."></a>
1148  </figure>
1149
1150  <a href="/how-to-choose-remember-a-long-strong-unique-password/" class="absolute inset-0 z-0" aria-label="Read: How to choose &amp; remember a long, strong &amp; unique password..."></a>
1151
1152  <div class="post-card-content flex flex-col ">
1153
1154    <div class="post-card-meta flex items-center gap-2 mb-2 min-h-7
1155      -mt-9 mb-5 mx-3 relative z-10
1156      ">
1157
1158        <a href="https://paul.reviews/tag/password/" class="post-card__tag flex items-center w-fit roun
1158ded-full px-3 py-1.5 text-[10px] font-semibold tracking-wide transition-colors duration-300
1159          bg-black/35 backdrop-blur-sm text-white shadow-[0_0_0_2px_rgba(255,255,255,0.1)] hover:bg-black/50 hover:opacity-100
1160          ">
1161          password
1162        </a>
1163
1164    </div>
1165
1166    <h2 class="post-card-title text-xl leading-snug font-semibold line-clamp-2 ">
1167      <a href="/how-to-choose-remember-a-long-strong-unique-password/">How to choose &amp; remember a long, strong &amp; unique password...</a>
1168    </h2>
1169
1170    <a href="/how-to-choose-remember-a-long-strong-unique-password/" class="post-card-excerpt line-clamp-3 text-sm leading-normal mt-2 opacity-95 ">
1171        Use a password manager.
1172    </a>
1173
1174    <footer class="flex items-center gap-1.5 mt-2 text-xs ">
1175        <div class="post-card-author flex items-center gap-2">
1176            <img src="https://paul.reviews/content/images/2026/09/fnNCyHOc_400x400.jpg" alt="Paul Moore" class="post-card-author-image w-7 h-7 rounded-full object-cover">
1177          <a href="/author/paul/" class="post-card-author-name opacity-80 hover:underline">Paul Moore</a>
1178        </div>
1179        <span class="text-[0.75em] opacity-65">•</span>
1180      <time class="opacity-80" datetime="2016-11-26">
1181        <span>10 years ago</span>
1182        <span class="hidden">Nov 26, 2016</span>
1183      </time>
1184    </footer>
1185  </div>
1186</article>
1187</div>
1188
1189
1190<div 
1191  class="flex flex-col justify-center gap-4 w-fit mx-auto my-12 text-sm"
1192  
1193>
1194
1195    <a href="/page/2/" data-pagination-next hidden></a>
1196    
1197      <div class="button group button" role="button" data-pagination-load-more>
1198        Load More
1199        <span class="mt-0.5 text-xs -mr-1 opacity-0 max-w-0 group-hover:max-w-3 group-hover:opacity-100 transition-all duration-300 ease-out-cubic translate-x-0.5 group-hover:translate-x-0 group-hover:mr-0" data-icon="arrow_right"></span>
1200      </div>
1201
1202    <div data-pagination-status class="text-center text-muted hidden">
1203      <div class="infinite-scroll-action">
1204        <p class="infinite-scroll-last !hidden">That&#x27;s everything for now.</p>
1205        <p class="infinite-scroll-error">Error loading more articles. Please try again.</p>
1206      </div>
1207    </div>
1208</div>
1209
1210
1211
1212
1213    </main>
1214
1215    
1216<footer class="pt-6 pb-4 bg-page text-content-alt" data-footer>
1217  <div class="container">
1218    <div class="flex justify-between items-center">
1219      
1220<a href="https://paul.reviews" class="site-logo flex-1" style="" aria-label="Paul Moore: Information Security Consultant &amp; Researcher - Home">
1221    <img src="/content/images/2026/09/ChatGPT-Image-Sep-15--2026--06_47_01-PM.png" alt="Paul Moore: Information Security Consultant &amp; Researcher" loading="eager" class="logo"/>
1222</a>      <social-icons class="flex items-center justify-end flex-1 text-sm opacity-90 hover:opacity-100 transition-opacity duration-250" aria-label="Footer Social Media Links"></social-icons>
1223    </div>
1224
1225    <div class="flex justify-between flex-wrap md:flex-nowrap w-full py-4 my-4 gap-8 border-b border-t  border-b0">
1226      <menu-nav
1227        class="w-full max-md:basis-full flex-1 shrink-0"
1228        values-path="themeConfig.site.secondaryNavigation"
1229        orientation="horizontal"
1230        nav-class="text-sm"
1231        item-class="hover:underline"
1232        group-class="flex flex-col gap-1"
1233        group-header-class="font-medium mb-1"
1234        group-item-class="hover:underline text-sm text-content opacity-90 hover:opacity-100 transition-opacity duration-250"
1235        show-external-icon="true"
1236        aria-label="Footer Navigation"
1237      ></menu-nav>
1238    </div>
1239    <div class="flex justify-center items-center h-5.5">
1240      <p class="text-xs">
1241          &copy; 2026 Published with
1242          <a href="https://ghost.org" target="_blank" rel="noopener" class="underline">Ghost</a>
1243      </p>
1244    </div>
1245  </div>
1246</footer>  </div>
1247</div>
1248
1249
1250    
1251    
1252  
1252<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"03e8346f4b2d43c293c82f33938b432f","r":1,"spa":2}' crossorigin="anonymous"></script>
1252
1253</body>
1254</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.