-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
178 lines (133 loc) · 23.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>LDUX - Local PDS (Protect Your Home)</title>
<meta name="description" content="Research document for local origin first with encryption at rest, PIR, and CRDT syncing for public data. Private~Public">
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://mfosterio.github.io/ldux-local/">
<meta property="og:type" content="website">
<meta property="og:title" content="LDUX - Local PDS (Protect Your Home)">
<meta property="og:description" content="Research document for local origin first with encryption at rest, PIR, and CRDT syncing for public data. Private~Public">
<meta property="og:image" content="https://mfosterio.github.io/ldux-local/images/localhost.jpeg">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="mfosterio.github.io">
<meta property="twitter:url" content="https://mfosterio.github.io/ldux-local/">
<meta name="twitter:title" content="LDUX - Local PDS (Protect Your Home)">
<meta name="twitter:description" content="Research document for local origin first with encryption at rest, PIR, and CRDT syncing for public data. Private~Public">
<meta name="twitter:image" content="https://mfosterio.github.io/ldux-local/images/localhost.jpeg">
</head>
<body>
<h1>LDUX - Local PDS<br>Origin First Research<br>(Protect Your Home)</h1>
<br>
<img src="./images/localhost.jpeg" alt="There's no place like 127.0.0.1" width="300px">
<h2>Evolving General Idea</h2>
<p>Imagine a standard for loopback mechanisms ultlizing the Orgin Private File System - (OPFS) standard in the browser via the origin https://localhost with encryption at rest to help solve presistent storage, privacy, security, and trust in the browser. This system would utilize a Conflict-free Replicated Data Type - (CRDT) data structure to sync data and files from Broswer Agent to Browser Agent to localhost. The localhost will have a mapped folder on a native loopback device for persistant storage and all code would originate from the localhost to help prevent Man In The Middle - (MITM) attacks and code injections.</p>
<hr>
<p>This document is a collection of evolving research for a concept. The resources cited in this document are intended to support the research and may or may not make their way into the final draft. If you are interested in discussing this concept further, please feel free to reach out to me.</p>
<!--Contact Icons Inline-->
<div id="contact-icons-inline">
<a href="https://www.linkedin.com/in/mark-foster-3459a211/" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="28" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg></a>
<a href="https://github.com/mfosterio/" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="31" viewBox="0 0 496 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg></a>
<a href="https://twitter.com/mfosterio" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></a>
<!-- <a href="https://www.discord.com" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="40" viewBox="0 0 640 512"><!- -!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.- -><path fill="#000000" d="M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z"/></svg></a> -->
<a href="https://t.me/mfosterio" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="31" viewBox="0 0 496 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg></a>
<!-- <a href="https://www.slack.com" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="28" viewBox="0 0 448 512"><!- -!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.- -><path fill="#000000" d="M94.1 315.1c0 25.9-21.2 47.1-47.1 47.1S0 341 0 315.1c0-25.9 21.2-47.1 47.1-47.1h47.1v47.1zm23.7 0c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1v117.8c0 25.9-21.2 47.1-47.1 47.1s-47.1-21.2-47.1-47.1V315.1zm47.1-189c-25.9 0-47.1-21.2-47.1-47.1S139 32 164.9 32s47.1 21.2 47.1 47.1v47.1H164.9zm0 23.7c25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1H47.1C21.2 244 0 222.8 0 196.9s21.2-47.1 47.1-47.1H164.9zm189 47.1c0-25.9 21.2-47.1 47.1-47.1 25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1h-47.1V196.9zm-23.7 0c0 25.9-21.2 47.1-47.1 47.1-25.9 0-47.1-21.2-47.1-47.1V79.1c0-25.9 21.2-47.1 47.1-47.1 25.9 0 47.1 21.2 47.1 47.1V196.9zM283.1 385.9c25.9 0 47.1 21.2 47.1 47.1 0 25.9-21.2 47.1-47.1 47.1-25.9 0-47.1-21.2-47.1-47.1v-47.1h47.1zm0-23.7c-25.9 0-47.1-21.2-47.1-47.1 0-25.9 21.2-47.1 47.1-47.1h117.8c25.9 0 47.1 21.2 47.1 47.1 0 25.9-21.2 47.1-47.1 47.1H283.1z"/></svg></a> -->
</div>
<h2>Origin Private File System - (OPFS) in The File System API Demo</h2>
<p><a href="create">Create</a></p>
<p><a href="read">Read</a></p>
<p><a href="delete">Delete</a></p>
<hr>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system" target="_blank">OPFS MDN</a></p>
<p><a href="https://web.dev/articles/origin-private-file-system" target="_blank">OPFS</a></p>
<p><a href="https://chrome.google.com/webstore/detail/opfs-explorer/acndjpgkpaclldomagafnognkcgjignd" target="_blank">OPFS Explorer Chrome Extension</a></p>
<h3>Localhost loopback network interface</h3>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#:~:text=to%20create%20it.-,Locally%2Ddelivered,-resources%20such%20as" target="_blank">Localy Delivered Browser Secure Context</a></p>
<p><a href="https://en.m.wikipedia.org/wiki/Localhost" target="_blank">localhost</a></p>
<p><a href="https://en.m.wikipedia.org/wiki/Loopback" target="_blank">Loopback</a></p>
<p><a href="https://en.m.wikipedia.org/wiki/.localhost" target="_blank">.localhost tld reserved by IETF</a></p>
<h3>Native Mobile localhost</h3>
<p><a href="https://www.kodeco.com/31498014-running-a-web-server-on-ios-with-vapor" target="_blank">iOS Swift Local Native Server</a></p>
<p><a href="https://medium.com/hacktive-devs/creating-a-local-http-server-on-android-49831fbad9ca" target="_blank">Android Kotlin Local Native Server</a></p>
<h2>Research Resources</h2>
<h3>Identity Flow</h3>
<p><a href="https://openid.net/specs/openid-connect-self-issued-v2-1_0.html" target="_blank">Self Issued - OIDC</a></p>
<p><a href="https://developers.google.com/privacy-sandbox/3pcd/fedcm" target="_blank">FedCM</a></p>
<p><a href="https://fedcm-rp-demo.glitch.me/" target="_blank">FedCM Demo</a></p>
<p><a href="https://lists.webkit.org/pipermail/webkit-dev/2022-March/032162.html" target="_blank">Apple's general support response to FedCM</a></p>
<h3>Verifiable Identity Credentials</h3>
<p><a href="https://github.com/WICG/identity-credential" target="_blank">WICG identity credential</a></p>
<p><a href="https://w3c.github.io/vc-data-model/" target="_blank">W3C Verifiable Credentials Data Model v2.0</a></p>
<p><a href="https://github.com/openwallet-foundation-labs/identity-credential" target="_blank">Open Wallet Foundation Identity Credential</a></p>
<p><a href="https://developer.apple.com/wallet/get-started-with-verify-with-wallet/" target="_blank">Apple verify idenity with wallet</a></p>
<p><a href="https://developers.id.me/documentation/identity-gateway/attribute-exchange" target="_blank">ID.me Attribute Exchange</a></p>
<h3>Trust Flow <~> Stamp Envelopes</h3>
<p><a href="https://ruben.verborgh.org/blog/2023/11/10/no-more-raw-data/#trust-flows" target="_blank">Ruben Verborgh On Trust Flows</a></p>
<p><a href="https://wicg.github.io/webpackage/draft-yasskin-http-origin-signed-responses.html" target="_blank">SXG Signed HTTP Exchanges CBOR CDDL for loading Cert Chains</a>📜⛓️ = 🤯</p>
<p><a href="https://www.w3.org/TR/vc-data-integrity/" target="_blank">Verifiable Credential Data Integrity 1.0</a></p>
<h3>Assertion Claims</h3>
<p><a href="https://identity.foundation/presentation-exchange/" target="_blank">Presentation Exchange</a></p>
<p><a href="https://jwt.io/introduction" target="_blank">JWT.io Introduction to JSON Web Tokens</a></p>
<p><a href="https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims" target="_blank">JSON Web Token Claims (JWT)</a></p>
<p><a href="https://www.iana.org/assignments/jwt/jwt.xhtml" target="_blank">IANA JSON Web Token Claims registry</a></p>
<p><a href="https://techdocs.akamai.com/api-definitions/docs/json-web-token-jwt-val" target="_blank">JSON web token (JWT) validation</a></p>
<p><a href="https://auth0.com/docs/secure/tokens/json-web-tokens/create-custom-claims" target="_blank">JWT Custom Claims</a></p>
<p><a href="https://github.com/Demonware/jose/blob/master/docs/source/index.rst#id16" target="_blank">Javascript Object Signing and Encryption (JOSE)</a></p>
<p><a href="https://datatracker.ietf.org/doc/html/rfc8152" target="_blank">CBOR Object Signing and Encryption (COSE)</a></p>
<p><a href="https://www.w3.org/TR/vc-jose-cose/" target="_blank">Securing Verifiable Credentials using JOSE and COSE</a></p>
<h3>Binary Semantic CDDL Mapping</h3>
<p><a href="https://datatracker.ietf.org/doc/html/rfc8610" target="_blank">CDDL - IETF Proposal</a></p>
<p><a href="https://digitalbazaar.github.io/cbor-ld-spec/" target="_blank">CBOR-LD 1.0 - A CBOR-based Serialization for Linked Data</a></p>
<h3>Granular Consent</h3>
<p><a href="https://w3c.github.io/dpv/2.0/dpv/#dfn-consent" target="_blank">(DPV) Data Protection Vocabulary Protecting your data with legal vocabulary on a granular level.</a>This is not legal advice it's a concept idea.</p>
<p><a href="https://auth0.com/docs/get-started/applications/confidential-and-public-applications/user-consent-and-third-party-applications" target="_blank">Okta 3rd Party Consent</a></p>
<h3>ACL and Capabilities</h3>
<p><a href="https://ucan.xyz/" target="_blank">UCAN - Distributed Auth</a></p>
<p><a href="https://w3c-ccg.github.io/zcap-spec/" target="_blank">ZCAP-LD - Authorization Capabilities for Linked Data</a></p>
<p><a href="https://solidproject.org/TR/acp" target="_blank">ACP - Access Control Policy</a></p>
<p><a href="https://solidproject.org/TR/wac" target="_blank">WAC - Web Access Control</a></p>
<h3>WASM Local SQLite Database</h3>
<p><a href="https://sqlite.org/wasm/doc/tip/persistence.md#opfs" target="_blank">SQLite OPFS</a></p>
<p><a href="https://sqlite-wasm-opfs.glitch.me/" target="_blank">Glitch WASM SQLite example</a></p>
<p><a href="https://glitch.com/edit/#!/sqlite-wasm-opfs" target="_blank">Glitch code for above example</a></p>
<h3>SQLite CRDTs Looking for feedback please reach out.</h3>
<p>Imagine an HMAC Secret on both the IDP and RP via something like FedCM with Secure Chain Proofs that could provide a blind index CRDT for any persistent availability needed by 3rd parties on the internet. This could be for profile pics public comments, etc.</p>
<p><a href="https://vlcn.io/" target="_blank">Vulcan - CR-SQLite SQLite CRDTs</a></p>
<p><a href="https://braid.org" target="_blank">Braid CRDT Protocol</a></p>
<h3>Local Encryption At Rest</h3>
<p><a href="https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-hmac-secret-extension" target="_blank">hmac-secret</a></p>
<p><a href="https://levischuck.com/blog/2023-02-prf-webauthn" target="_blank">FIDO Encrypt Decrypt</a></p>
<p><a href="https://developer.apple.com/documentation/cryptokit/hpke" target="_blank">HPKE</a></p>
<h3>JavaScript Browser Delivery Integrety</h3>
<p><a href="https://content-security-policy.com" target="_blank">CSP</a></p>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity" target="_blank">SRI - Sub Resource Integrety</a></p>
<p><a href="https://www.w3.org/TR/secure-contexts/" target="_blank">Secure Contexts in Browser Windows</a></p>
<p><a href="https://wicg.github.io/fenced-frame/" target="_blank">Fenced Frame</a></p>
<h3>PIR - Private Information Retrieval</h3>
<p><a href="https://blintzbase.com/posts/pir-and-fhe-from-scratch/" target="_blank">PIR - Using homomorphic encryption</a></p>
<h3>Local First Influence Projects</h3>
<p><a href="https://www.inkandswitch.com/" target="_blank">Ink & Switch</a></p>
<p><a href="https://m-ld.org" target="_blank">m-ld</a></p>
<p><a href="https://tinybase.org" target="_blank">TinyBase</a></p>
<p><a href="https://odd.dev/" target="_blank">ODD Stack - IPFS, DIDs, UCANs</a></p>
<p>This document is intended for research purposes only. It is not intended to be used as a legal document and should not be relied upon as such. This document is provided “as is” without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. The author(s) of this document shall not be liable for any damages whatsoever arising out of or in connection with the use or inability to use this document, even if the author(s) have been advised of the possibility of such damages.</p>
<br>
<br>
<br>
<!--<p><a href="#:~:text=" target="_blank">Text</a></p>-->
<!--Contact Icons Fixed-->
<div id="contact-icons-fixed" style="position: fixed; bottom: 0; right: 0; padding: 4px; background-color: white;">
<a href="https://www.linkedin.com/in/mark-foster-3459a211/" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="28" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg></a>
<a href="https://github.com/mfosterio/" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="31" viewBox="0 0 496 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg></a>
<a href="https://twitter.com/mfosterio" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></a>
<!-- <a href="https://www.discord.com" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="40" viewBox="0 0 640 512"><!- -!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.- -><path fill="#000000" d="M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z"/></svg></a> -->
<a href="https://t.me/mfosterio" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="31" viewBox="0 0 496 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#000000" d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg></a>
<!-- <a href="https://www.slack.com" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="28" viewBox="0 0 448 512"><!- -!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.- -><path fill="#000000" d="M94.1 315.1c0 25.9-21.2 47.1-47.1 47.1S0 341 0 315.1c0-25.9 21.2-47.1 47.1-47.1h47.1v47.1zm23.7 0c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1v117.8c0 25.9-21.2 47.1-47.1 47.1s-47.1-21.2-47.1-47.1V315.1zm47.1-189c-25.9 0-47.1-21.2-47.1-47.1S139 32 164.9 32s47.1 21.2 47.1 47.1v47.1H164.9zm0 23.7c25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1H47.1C21.2 244 0 222.8 0 196.9s21.2-47.1 47.1-47.1H164.9zm189 47.1c0-25.9 21.2-47.1 47.1-47.1 25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1h-47.1V196.9zm-23.7 0c0 25.9-21.2 47.1-47.1 47.1-25.9 0-47.1-21.2-47.1-47.1V79.1c0-25.9 21.2-47.1 47.1-47.1 25.9 0 47.1 21.2 47.1 47.1V196.9zM283.1 385.9c25.9 0 47.1 21.2 47.1 47.1 0 25.9-21.2 47.1-47.1 47.1-25.9 0-47.1-21.2-47.1-47.1v-47.1h47.1zm0-23.7c-25.9 0-47.1-21.2-47.1-47.1 0-25.9 21.2-47.1 47.1-47.1h117.8c25.9 0 47.1 21.2 47.1 47.1 0 25.9-21.2 47.1-47.1 47.1H283.1z"/></svg></a> -->
</div>
</body>
</body>
</html>