Apache 2.4.66
tcp/443 tcp/80
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c7cf176427cf17642d5588edd45cbe83545cbe83545cbe835
Found 2 files trough .DS_Store spidering: /categories /docs
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c7cf176427cf17642d5588edd45cbe83545cbe83545cbe835
Found 2 files trough .DS_Store spidering: /categories /docs
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c7cf176427cf17642d5588edd45cbe83545cbe83545cbe835
Found 2 files trough .DS_Store spidering: /categories /docs
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c7cf176427cf17642d5588edd45cbe83545cbe83545cbe835
Found 2 files trough .DS_Store spidering: /categories /docs
Open service 81.169.145.92:80 · www.fairness.digital
2026-01-09 21:46
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 21:47:18 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · www.fairness.digital
2026-01-09 21:46
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 21:46:20 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · fairness.digital
2026-01-09 19:27
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 19:28:04 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · fairness.digital
2026-01-08 20:29
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 20:29:18 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · www.fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:52 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 2a01:238:20a:202:1092:::80 · www.fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:51 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 2a01:238:20a:202:1092:::443 · www.fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:52 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · www.fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:52 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:51 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 2a01:238:20a:202:1092:::443 · fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:51 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:51 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 2a01:238:20a:202:1092:::80 · fairness.digital
2026-01-04 08:56
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 08:56:51 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · fairness.digital
2026-01-02 11:18
HTTP/1.1 200 OK
Date: Fri, 02 Jan 2026 11:18:28 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · www.fairness.digital
2026-01-02 06:32
HTTP/1.1 200 OK
Date: Fri, 02 Jan 2026 06:32:53 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · www.fairness.digital
2026-01-02 04:33
HTTP/1.1 200 OK
Date: Fri, 02 Jan 2026 04:33:38 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · fairness.digital
2025-12-30 13:04
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 13:04:41 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · www.fairness.digital
2025-12-30 11:25
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 11:25:41 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · www.fairness.digital
2025-12-30 06:58
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2025 06:58:03 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · fairness.digital
2025-12-22 18:42
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 18:42:00 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · fairness.digital
2025-12-22 14:02
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 14:02:34 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · www.fairness.digital
2025-12-22 12:23
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 12:23:39 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · www.fairness.digital
2025-12-22 10:20
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 10:20:24 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · www.fairness.digital
2025-12-21 05:59
HTTP/1.1 200 OK
Date: Sun, 21 Dec 2025 05:59:16 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · fairness.digital
2025-12-20 21:11
HTTP/1.1 200 OK
Date: Sat, 20 Dec 2025 21:11:16 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:443 · www.fairness.digital
2025-12-20 11:24
HTTP/1.1 200 OK
Date: Sat, 20 Dec 2025 11:24:30 GMT
Server: Apache/2.4.66 (Unix)
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men
Open service 81.169.145.92:80 · www.fairness.digital
2025-12-19 06:20
HTTP/1.1 200 OK
Date: Fri, 19 Dec 2025 06:20:04 GMT
Server: Apache/2.4.66 (Unix)
Last-Modified: Tue, 30 Jan 2024 21:31:10 GMT
ETag: "1481-610307b196380"
Accept-Ranges: bytes
Content-Length: 5249
Connection: close
Content-Type: text/html
Page title: Introduction | Fair design patterns
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta name="generator" content="Hugo 0.121.0">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fair design patterns library # Under construction">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Introduction" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://fairdesign.net/" />
<title>Introduction | Fair design patterns</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css" integrity="sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.6a6a810f5e0ce0de1d80995ae8499369f8e95ad13bb36e537d3476f72c9257a0.js" integrity="sha256-amqBD14M4N4dgJla6EmTafjpWtE7s25TfTR29yySV6A=" crossorigin="anonymous"></script>
<link rel="alternate" type="application/rss+xml" href="https://fairdesign.net/index.xml" title="Fair design patterns" />
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Fair design patterns</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul>
<li class="book-section-flat" >
<span>Patterns</span>
<ul>
<li>
<a href="/docs/patterns/an-example/" class="">An example</a>
</li>
<li>
<a href="/docs/patterns/empty-template/" class="">Empty template</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-01/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-02/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-03/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-04/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-05/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-06/" class="">Your pattern here</a>
</li>
<li>
<a href="/docs/patterns/your-pattern-here-07/" class="">Your pattern here</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="men