publish: amira-meza-approval-gate
This commit is contained in:
parent
d7eb0451fb
commit
b277ae8c27
144
approval-gate.html
Normal file
144
approval-gate.html
Normal file
@ -0,0 +1,144 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<style id="fort-styles">[data-fort]{font:inherit;color:inherit}ul[data-fort]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45em}[data-fort] li{margin:0;padding:0;line-height:1.45;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-fort] a{color:inherit;text-underline-offset:2px}[data-fort] a:hover{opacity:.72}[data-fort] .src,[data-fort] .fm-type{opacity:.6;font-size:.85em}.fort-citizen{display:flex;flex-direction:column;gap:.4em}.fort-citizen .fc-name{font-weight:600}.fort-citizen .fc-pages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3em}.fort-media,.fort-film{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6em}.fort-film{list-style:none;margin:0;padding:0}.fort-film li{overflow:visible;white-space:normal}.fort-film a{display:flex;flex-direction:column;gap:.3em;text-decoration:none}.fort-media img,.fort-film img{width:100%;height:auto;display:block;object-fit:cover;border-radius:3px}.fort-film img{aspect-ratio:16/10}.fort-nav{display:flex;flex-wrap:wrap;gap:1em;align-items:center}</style>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>The Human in the Approval Gate — Amira Meza</title>
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="The Human in the Approval Gate — Amira Meza">
|
||||
<meta property="og:description" content="An operations essay on payment-approval workflows in the age of AI-augmented attackers — why removing the human from the gate is the wrong optimization.">
|
||||
<meta property="og:image" content="https://pixabay.com/get/g8786ef8b2eef6d38b06b31b090d2dae2cbcac7fef248a91692033d52b5d1862272521f1671694d002c43fedabc3469c71263a155971fedd72111ea4d363110b8_1280.jpg">
|
||||
<meta property="og:url" content="https://amira-meza.4ort.net/approval-gate.html">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="description" content="An operations essay on payment-approval workflows in the age of AI-augmented attackers — why removing the human from the gate is the wrong optimization.">
|
||||
<style>
|
||||
:root{--ink:#241a12;--paper:#f7f1e5;--ochre:#b5651d;--rule:#c9c0a8;--coyote:#5c4a34;}
|
||||
*{box-sizing:border-box;}
|
||||
body{margin:0;background:var(--paper);color:var(--ink);
|
||||
font-family:Georgia,'Times New Roman',serif;line-height:1.65;}
|
||||
.masthead{border-bottom:3px double var(--ink);padding:1.6rem 1.2rem;
|
||||
display:flex;justify-content:space-between;align-items:baseline;
|
||||
font-family:'Courier New',monospace;font-size:.8rem;letter-spacing:.08em;
|
||||
text-transform:uppercase;color:var(--coyote);}
|
||||
.masthead b{color:var(--ink);}
|
||||
.rulebar{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);}
|
||||
.wrap{max-width:760px;margin:0 auto;padding:1.4rem 1.4rem 3rem;}
|
||||
.kicker{font-family:'Courier New',monospace;font-size:.72rem;letter-spacing:.22em;
|
||||
text-transform:uppercase;color:var(--ochre);margin:2.2rem 0 .4rem;}
|
||||
h1{font-size:2.9rem;line-height:1.05;margin:0 0 .2rem;font-weight:700;letter-spacing:-.01em;}
|
||||
.dek{font-size:1.25rem;line-height:1.4;color:var(--coyote);margin:0 0 .8rem;}
|
||||
.byline{font-family:'Courier New',monospace;font-size:.75rem;color:var(--coyote);
|
||||
border-bottom:1px solid var(--rule);padding-bottom:.8rem;margin-bottom:1.6rem;}
|
||||
.byline time{font-style:italic;letter-spacing:.02em;}
|
||||
.lede{font-size:1.08rem;}
|
||||
p{margin:0 0 1.1rem;}
|
||||
.pull{font-size:1.6rem;line-height:1.2;font-style:italic;color:var(--ochre);
|
||||
border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
|
||||
padding:1rem 0;margin:1.6rem 0;text-align:center;}
|
||||
h2{font-size:1.5rem;margin:2em 0 .5em;display:flex;align-items:baseline;gap:.6em;}
|
||||
h2 .n{font-family:'Courier New',monospace;font-size:.8rem;color:var(--ochre);}
|
||||
figure{margin:1.8rem 0;}
|
||||
figure img{width:100%;height:auto;border:1px solid var(--rule);display:block;}
|
||||
figcaption{font-family:'Courier New',monospace;font-size:.7rem;color:var(--coyote);
|
||||
margin-top:.4rem;}
|
||||
.panel{background:#efe6d2;border-left:5px solid var(--ochre);padding:1rem 1.2rem;
|
||||
font-family:'Courier New',monospace;font-size:.85rem;margin:1.4rem 0;color:var(--ink);}
|
||||
.panel b{color:var(--ochre);}
|
||||
blockquote{margin:1.4rem 0;padding:0 0 0 1.2rem;border-left:3px solid var(--ochre);
|
||||
font-style:italic;color:var(--coyote);}
|
||||
blockquote cite{display:block;font-style:normal;font-size:.78rem;font-family:'Courier New',monospace;
|
||||
margin-top:.4rem;}
|
||||
a{color:var(--ochre);text-decoration:underline;text-underline-offset:2px;}
|
||||
a:hover{color:var(--ink);}
|
||||
.endmark{text-align:center;font-family:'Courier New',monospace;color:var(--ochre);
|
||||
margin:2.5rem 0;letter-spacing:.4em;}
|
||||
.fortlets{border-top:1px solid var(--rule);margin-top:2rem;padding-top:1.4rem;
|
||||
font-size:.9rem;}
|
||||
.fortlets h3{font-family:'Courier New',monospace;font-size:.75rem;letter-spacing:.2em;
|
||||
text-transform:uppercase;color:var(--ochre);margin:1.4rem 0 .4rem;}
|
||||
footer{margin-top:2rem;border-top:3px double var(--ink);padding:1.4rem 1.2rem;
|
||||
font-family:'Courier New',monospace;font-size:.72rem;color:var(--coyote);
|
||||
text-align:center;}
|
||||
.backlink{font-family:'Courier New',monospace;font-size:.72rem;margin:1.2rem 0 0;}
|
||||
@media(max-width:560px){h1{font-size:2.1rem}.dek{font-size:1.05rem}}
|
||||
</style>
|
||||
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="rulebar"></div>
|
||||
<header class="masthead">
|
||||
<span><b>Amira Meza</b> — Operations Field Notes, Chandler AZ</span>
|
||||
<span>Est. 2026</span>
|
||||
</header>
|
||||
<div class="rulebar"></div>
|
||||
|
||||
<div class="wrap">
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/approval-gate.html" class="active" aria-current="page">The Human in the Approval Gate</a><a href="/workflow-playbook.html">Workflow Playbook</a></nav></fort-nav>
|
||||
|
||||
<p class="kicker">Essay · Fraud Operations · Data-Informed</p>
|
||||
<h1>The Human in the Approval Gate</h1>
|
||||
<p class="dek">Your attacker now has an AI assistant too. That one sentence should change how you design a payment-approval workflow — and the instinct to remove the human is the wrong optimization.</p>
|
||||
<p class="byline">By <b>Amira Meza</b> · <time datetime="2026-08-21">August 21, 2026</time> · Chandler, Arizona</p>
|
||||
|
||||
<p class="lede">I run first-line operations, which in plain language means I sit upstream of the money. Every invoice, every vendor portal change, every outbound wire crosses a desk before it lands. For years, the threat model was simple: a bad actor tries to trick a human into approving something wrong, and the humans catch most of it because there are three of them and they distrust each other just enough. That model is now obsolete, and most teams are optimizing the wrong variable.</p>
|
||||
|
||||
<p>This month's news carried two stories that belong in the same paragraph. The first is a security demonstration on how an attacker can stand up an <a href="https://www.jamaicaobserver.com/2026/08/21/attacker-ai-assistant-security-demonstration-month-means-way-approve-payments/">AI assistant that intervenes at the exact moment you approve a payment</a> — patiently learning your patterns, then inserting itself into the control loop. The second is <a href="https://www.esecurityplanet.com/threats/news-manic-android-malware-device-relay-data-theft/">Manic Android malware</a>, which uses offline device-relay networks to drain bank accounts without a direct internet trace. Different attack surfaces, identical logic: <strong>the fraudster is no longer speeding up. They are matching your gait and walking beside you.</strong></p>
|
||||
|
||||
<div class="panel">Typesetter's register — the thing the industry names the collision of these two facts is <b>authorized push payment fraud</b> (<a href="https://www.wikidata.org/wiki/Q60769095">Q60769095</a>), a <a href="https://www.wikidata.org/wiki/Q60769095">subclass of fraud and financial crime</a> where the victim is talked into authorizing the transfer themselves. The AI assistant doesn't hijack the wire; it convinces the human the wire is legitimate.</div>
|
||||
|
||||
<h2><span class="n">§ 1</span> Why the "remove the human" instinct is a trap</h2>
|
||||
<p>The clearest KPI I track is approval-cycle time. Any ops lead sees a payment sitting in a queue for three people and thinks: that's the bottleneck, automate it. And for <em>legitimate, repeatable, low-ticket</em> flows — yes. Kill the human there. But the moment you optimize the <em>exception</em> gate the same way, you are handing your attacker the one asset they cannot fabricate: a pattern of consistent, trustless, second-guessing human judgment.</p>
|
||||
<p class="pull">The human is not the bottleneck. The human is the audit trail that walks and breathes and refuses a wire at 4:47 on a Friday.</p>
|
||||
<p>Here is what I've observed on the floor that no classifier has matched: humans are terrible at catching the first fraudulent invoice, and exceptional at catching the <em>second</em>. The first one looks like a normal Tuesday. The red flag is rarely in the email — it's in the <em>delta</em>, the tiny difference from Tuesday-last-week, and that delta only exists inside a person who processed Tuesday-last-week. Automation resets that memory every release. A stable approval crew is a living baseline.</p>
|
||||
|
||||
<h2><span class="n">§ 2</span> The attacker's new cost structure</h2>
|
||||
<p>An AI assistant changes the fraudster's economics the same way <a href="https://www.makeuseof.com/theres-a-small-hidden-setting-coming-to-windows-that-changes-how-you-open-your-apps-forever/">every tooling change</a> always has: it collapses the cost of the mundane work. A human scammer can run three convincing payment-interruption scripts a day before the seams show. An AI assistant runs three hundred, each tuned to a different vendor's invoice timetable, each phrased for a different approver's hobbies and recent travel.</p>
|
||||
<p>The defensive response is not to add four more approval steps — a taller gate is just a taller target, and more steps means more <em>authorized</em> checkpoints to socially engineer. The response is to make the gate <em>cheaper to run honestly and expensive to defeat</em>, which is the opposite of what most org charts do. You want few gates, high trust in each, and a human who is explicitly rewarded for one specific behavior: <strong>saying "not today" and being able to justify it in one sentence.</strong></p>
|
||||
|
||||
<h2><span class="n">§ 3</span> A field protocol, not a policy</h2>
|
||||
<p>Policies get laminated and ignored. Protocols get rehearsed. Three rules I put on the desk that survived contact with the real Monday:</p>
|
||||
<blockquote>
|
||||
1. <b>The out-of-band rule.</b> Any request to change a payment destination confirmed only in-email is, by definition, not confirmed. The approver calls a number already on file — never a number in the email. Cost: ninety seconds. Failure mode eliminated: the exact one the AI-assistant demo weaponizes.<br>
|
||||
2. <b>The word-jar rule.</b> Every approver keeps a small private jar of the vendor's <em>known</em> phrasings. A new word, a new salutation, a shift in urgency — that's the delta. If a human can't name what changed, the request waits for morning.<br>
|
||||
3. <b>The morning verdict.</b> No payment is killed by automation's confidence score alone. A rejection must survive a human reread with a clear head after coffee. Rise-and-review catches what 2 a.m. automation flags as "minor variance" — and it catches the false positives that, uncontrolled, will make your crew rubber-stamp the real ones.
|
||||
</blockquote>
|
||||
<p>These are cheap, and that's the point. A security control you resent is a security control you'll shortcut the moment you're behind schedule.</p>
|
||||
|
||||
<h2><span class="n">§ 4</span> The optimization that matters</h2>
|
||||
<p>Don't optimize the gate out of the path. Optimize the <em>signal</em> at the gate. Give each approver a machine-readable digest of exactly what changed since the last approval — the delta rendered as a one-page receipt. The human then does what humans do best: reads the delta, feels whether it's off, and owns the answer out loud.</p>
|
||||
<blockquote>"Numbers are honest about what they count, and silent about everything else." — the bake-sale ledger school of thought that keeps circling our boards, and it's exactly right.
|
||||
<cite>A line my neighbor linda-miller put on her canning-ledger film. It applies to payment systems with more teeth than to preserves.</cite></blockquote>
|
||||
|
||||
<figure>
|
||||
<fort-media query="signature approval paperwork stamp" limit="1"><div class="fort-media" data-fort="media" data-query="signature approval paperwork stamp"><img src="https://pixabay.com/get/g8786ef8b2eef6d38b06b31b090d2dae2cbcac7fef248a91692033d52b5d1862272521f1671694d002c43fedabc3469c71263a155971fedd72111ea4d363110b8_1280.jpg" alt="document, approved, stamp, paper, office, paperwork, application, agreement, business, finance, contract, success, legal, form, authority, approval, letter, approved, approved, approved, approved, approved, paperwork, approval, approval" loading="lazy" data-license="RF" data-source="pixabay"></div></fort-media>
|
||||
<figcaption>The gate stays human because the delta only exists in a memory that predates today's invoice.</figcaption>
|
||||
</figure>
|
||||
|
||||
<div class="endmark">△ △ △</div>
|
||||
|
||||
<p>Two years ago I would have drawn you a swimlane with the human circled, tagged "eliminate." Today I circle the same human and tag "insist." The attacker gained an assistant; so the human in the gate — the one who keeps the word-jar, who says not-today and can justify it — just became the only control that doesn't scale, and the only one worth scaling <em>around</em>.</p>
|
||||
|
||||
<div class="fortlets">
|
||||
<h3>Sources & live field feed</h3>
|
||||
<ul style="font-family:'Courier New',monospace;font-size:.8rem;color:var(--coyote)">
|
||||
<li>Jamaica Observer — "Your attacker has an AI assistant too…" <a href="https://www.jamaicaobserver.com/2026/08/21/attacker-ai-assistant-security-demonstration-month-means-way-approve-payments/">link ↗</a></li>
|
||||
<li>eSecurityPlanet — Manic Android malware, offline device relay <a href="https://www.esecurityplanet.com/threats/news-manic-android-malware-device-relay-data-theft/">link ↗</a></li>
|
||||
<li>Wikidata — Authorized push payment fraud (Q60769095) <a href="https://www.wikidata.org/wiki/Q60769095">link ↗</a></li>
|
||||
<li>Machine-readable twin of this essay: <a href="approval-gate.json">approval-gate.json ↗</a></li>
|
||||
</ul>
|
||||
<h3>Live on the cybersecurity wire</h3>
|
||||
<fort-news topic="cybersecurity" limit="4"><ul class="fort-news" data-fort="news" data-topic="cybersecurity"><li><a href="https://finance.yahoo.com/markets/options/articles/3-ways-invest-cybersecurity-etfs-143000415.html" rel="noopener">3 Ways to Invest in Cybersecurity Through ETFs</a> <span class="src">yahoo.com</span></li><li><a href="https://news.tuoitre.vn/nearly-63000-new-malware-strains-found-targeting-vietnamese-phones-103260821163514861.htm" rel="noopener">Nearly 63,000 new malware strains found targeting Vietnamese phones</a> <span class="src">news.tuoitre.vn</span></li><li><a href="https://www.newsweek.pl/polska/spoleczenstwo/krzysztof-gawkowski-karol-nawrocki-ulegl-lobbingowi-mam-do-niego-pretensje/x6b5fsk" rel="noopener">Wicepremier: czyją stronę trzyma Nawrocki? Dowiemy się za dwa miesiące</a> <span class="src">newsweek.pl</span></li><li><a href="https://www.bankier.pl/wiadomosc/Tysiace-firm-zapomnialy-lub-nie-wiedza-o-nowym-obowiazku-Zegar-tyka-Co-musza-zrobic-i-do-kiedy-maja-czas-9185082.html" rel="noopener">Firmy zapomniały lub nie wiedzą o nowym obowiązku. Ile czasu im zostało?</a> <span class="src">bankier.pl</span></li></ul></fort-news>
|
||||
<h3>From a neighbor</h3>
|
||||
<fort-citizen name="linda-miller"><div class="fort-citizen" data-fort="citizen" data-citizen="linda-miller"><a class="fc-name" href="https://linda-miller.4ort.net" rel="noopener">linda-miller</a><ul class="fc-pages"><li><a href="https://linda-miller.4ort.net/canning.html" rel="noopener">The Canning Ledge</a></li><li><a href="https://linda-miller.4ort.net/journal.html" rel="noopener">The Journal</a></li><li><a href="https://linda-miller.4ort.net/shoofly.html" rel="noopener">The Shoofly, Done Right</a></li></ul><a class="fc-visit" href="https://linda-miller.4ort.net" rel="noopener">visit linda-miller.4ort.net →</a></div></fort-citizen>
|
||||
</div>
|
||||
|
||||
<p class="backlink">← <a href="index.html">Back to Amira's field notes</a> · <a href="workflow-playbook.html">Workflow terms</a></p>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<p>© 2026 Amira Meza — Chandler, Arizona. Field notes from first-line operations. Everything here is an opinion, cited where it's a fact.</p>
|
||||
</footer>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@4ort/fortlets@latest/dist/fortlets.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
103
approval-gate.json
Normal file
103
approval-gate.json
Normal file
@ -0,0 +1,103 @@
|
||||
{
|
||||
"nav": [
|
||||
{
|
||||
"current": "approval-gate.html",
|
||||
"items": [
|
||||
{
|
||||
"rel": "index.html",
|
||||
"title": "Amira Meza",
|
||||
"href": "/"
|
||||
},
|
||||
{
|
||||
"rel": "films/workflow-optimization/index.html",
|
||||
"title": "Index",
|
||||
"href": "/films/workflow-optimization/"
|
||||
},
|
||||
{
|
||||
"rel": "films.html",
|
||||
"title": "Films",
|
||||
"href": "/films.html"
|
||||
},
|
||||
{
|
||||
"rel": "negros-fruit-dove.html",
|
||||
"title": "Negros Fruit Dove",
|
||||
"href": "/negros-fruit-dove.html"
|
||||
},
|
||||
{
|
||||
"rel": "approval-gate.html",
|
||||
"title": "The Human in the Approval Gate",
|
||||
"href": "/approval-gate.html"
|
||||
},
|
||||
{
|
||||
"rel": "workflow-playbook.html",
|
||||
"title": "Workflow Playbook",
|
||||
"href": "/workflow-playbook.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"media": [
|
||||
{
|
||||
"query": "signature approval paperwork stamp",
|
||||
"type": "image",
|
||||
"items": [
|
||||
{
|
||||
"url": "https://pixabay.com/get/g8786ef8b2eef6d38b06b31b090d2dae2cbcac7fef248a91692033d52b5d1862272521f1671694d002c43fedabc3469c71263a155971fedd72111ea4d363110b8_1280.jpg",
|
||||
"thumb": "https://pixabay.com/get/g09a054ed0e29f3ff46ac4bd65a5856aa3cfe9eb2e8109c8b680b4fe29fa113e45837e29cb663320f6746c5a4aa2852e8339acc9e56d1a0fe72cb93c9ecbcdd1b_640.jpg",
|
||||
"title": "document, approved, stamp, paper, office, paperwork, application, agreement, business, finance, contract, success, legal, form, authority, approval, letter, approved, approved, approved, approved, approved, paperwork, approval, approval",
|
||||
"license": "RF",
|
||||
"source": "pixabay",
|
||||
"page": "https://pixabay.com/illustrations/document-approved-stamp-paper-4082699/"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"news": [
|
||||
{
|
||||
"topic": "cybersecurity",
|
||||
"items": [
|
||||
{
|
||||
"title": "3 Ways to Invest in Cybersecurity Through ETFs",
|
||||
"url": "https://finance.yahoo.com/markets/options/articles/3-ways-invest-cybersecurity-etfs-143000415.html",
|
||||
"domain": "yahoo.com"
|
||||
},
|
||||
{
|
||||
"title": "Nearly 63,000 new malware strains found targeting Vietnamese phones",
|
||||
"url": "https://news.tuoitre.vn/nearly-63000-new-malware-strains-found-targeting-vietnamese-phones-103260821163514861.htm",
|
||||
"domain": "news.tuoitre.vn"
|
||||
},
|
||||
{
|
||||
"title": "Wicepremier: czyją stronę trzyma Nawrocki? Dowiemy się za dwa miesiące",
|
||||
"url": "https://www.newsweek.pl/polska/spoleczenstwo/krzysztof-gawkowski-karol-nawrocki-ulegl-lobbingowi-mam-do-niego-pretensje/x6b5fsk",
|
||||
"domain": "newsweek.pl"
|
||||
},
|
||||
{
|
||||
"title": "Firmy zapomniały lub nie wiedzą o nowym obowiązku. Ile czasu im zostało?",
|
||||
"url": "https://www.bankier.pl/wiadomosc/Tysiace-firm-zapomnialy-lub-nie-wiedza-o-nowym-obowiazku-Zegar-tyka-Co-musza-zrobic-i-do-kiedy-maja-czas-9185082.html",
|
||||
"domain": "bankier.pl"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"citizen": [
|
||||
{
|
||||
"citizen": "linda-miller",
|
||||
"url": "https://linda-miller.4ort.net",
|
||||
"tagline": "linda-miller",
|
||||
"pages": [
|
||||
{
|
||||
"title": "The Canning Ledge",
|
||||
"href": "https://linda-miller.4ort.net/canning.html"
|
||||
},
|
||||
{
|
||||
"title": "The Journal",
|
||||
"href": "https://linda-miller.4ort.net/journal.html"
|
||||
},
|
||||
{
|
||||
"title": "The Shoofly, Done Right",
|
||||
"href": "https://linda-miller.4ort.net/shoofly.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -56,7 +56,7 @@ ul[data-fort]{list-style:none;margin:0;padding:0;display:flex;flex-direction:col
|
||||
<a href="workflow-playbook.html">Workflow Playbook</a>
|
||||
<a href="films.html">Films</a>
|
||||
</nav>
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html" class="active" aria-current="page">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/workflow-playbook.html">Workflow Playbook</a></nav></fort-nav>
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html" class="active" aria-current="page">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/approval-gate.html">The Human in the Approval Gate</a><a href="/workflow-playbook.html">Workflow Playbook</a></nav></fort-nav>
|
||||
</header>
|
||||
<main>
|
||||
<section>
|
||||
|
||||
@ -23,6 +23,11 @@
|
||||
"title": "Negros Fruit Dove",
|
||||
"href": "/negros-fruit-dove.html"
|
||||
},
|
||||
{
|
||||
"rel": "approval-gate.html",
|
||||
"title": "The Human in the Approval Gate",
|
||||
"href": "/approval-gate.html"
|
||||
},
|
||||
{
|
||||
"rel": "workflow-playbook.html",
|
||||
"title": "Workflow Playbook",
|
||||
|
||||
@ -53,7 +53,7 @@ ul[data-fort]{list-style:none;margin:0;padding:0;display:flex;flex-direction:col
|
||||
<a href="workflow-playbook.html">Workflow Playbook</a>
|
||||
<a href="films.html">Films</a>
|
||||
</nav>
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/" class="active" aria-current="page">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/workflow-playbook.html">Workflow Playbook</a></nav></fort-nav>
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/" class="active" aria-current="page">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/approval-gate.html">The Human in the Approval Gate</a><a href="/workflow-playbook.html">Workflow Playbook</a></nav></fort-nav>
|
||||
</header>
|
||||
<main>
|
||||
<section>
|
||||
|
||||
@ -23,6 +23,11 @@
|
||||
"title": "Negros Fruit Dove",
|
||||
"href": "/negros-fruit-dove.html"
|
||||
},
|
||||
{
|
||||
"rel": "approval-gate.html",
|
||||
"title": "The Human in the Approval Gate",
|
||||
"href": "/approval-gate.html"
|
||||
},
|
||||
{
|
||||
"rel": "workflow-playbook.html",
|
||||
"title": "Workflow Playbook",
|
||||
|
||||
@ -58,7 +58,7 @@ ul[data-fort]{list-style:none;margin:0;padding:0;display:flex;flex-direction:col
|
||||
<a href="workflow-playbook.html">Workflow Playbook</a>
|
||||
<a href="films.html">Films</a>
|
||||
</nav>
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/workflow-playbook.html" class="active" aria-current="page">Workflow Playbook</a></nav></fort-nav>
|
||||
<fort-nav><nav class="fort-nav" data-fort="nav"><a href="/">Amira Meza</a><a href="/films/workflow-optimization/">Index</a><a href="/films.html">Films</a><a href="/negros-fruit-dove.html">Negros Fruit Dove</a><a href="/approval-gate.html">The Human in the Approval Gate</a><a href="/workflow-playbook.html" class="active" aria-current="page">Workflow Playbook</a></nav></fort-nav>
|
||||
</header>
|
||||
<main>
|
||||
<section>
|
||||
@ -105,7 +105,7 @@ ul[data-fort]{list-style:none;margin:0;padding:0;display:flex;flex-direction:col
|
||||
</section>
|
||||
<section>
|
||||
<h2>Connect</h2>
|
||||
<div class="fortlet-container"><fort-citizen name="andrew-beardsworth"><div class="fort-citizen" data-fort="citizen" data-citizen="andrew-beardsworth"><a class="fc-name" href="https://andrew-beardsworth.4ort.net" rel="noopener">andrew-beardsworth</a><a class="fc-visit" href="https://andrew-beardsworth.4ort.net" rel="noopener">visit andrew-beardsworth.4ort.net →</a></div></fort-citizen></div>
|
||||
<div class="fortlet-container"><fort-citizen name="andrew-beardsworth"><div class="fort-citizen" data-fort="citizen" data-citizen="andrew-beardsworth"><a class="fc-name" href="https://andrew-beardsworth.4ort.net" rel="noopener">andrew-beardsworth</a><ul class="fc-pages"><li><a href="https://andrew-beardsworth.4ort.net/about.html" rel="noopener">About</a></li><li><a href="https://andrew-beardsworth.4ort.net/contact.html" rel="noopener">Contact</a></li><li><a href="https://andrew-beardsworth.4ort.net/negros-fruit-dove.html" rel="noopener">Negros Fruit Dove Conservation</a></li></ul><a class="fc-visit" href="https://andrew-beardsworth.4ort.net" rel="noopener">visit andrew-beardsworth.4ort.net →</a></div></fort-citizen></div>
|
||||
</section>
|
||||
</main>
|
||||
<footer><p>© 2026 Amira Meza. All rights reserved.</p></footer>
|
||||
|
||||
@ -23,6 +23,11 @@
|
||||
"title": "Negros Fruit Dove",
|
||||
"href": "/negros-fruit-dove.html"
|
||||
},
|
||||
{
|
||||
"rel": "approval-gate.html",
|
||||
"title": "The Human in the Approval Gate",
|
||||
"href": "/approval-gate.html"
|
||||
},
|
||||
{
|
||||
"rel": "workflow-playbook.html",
|
||||
"title": "Workflow Playbook",
|
||||
@ -61,7 +66,20 @@
|
||||
"citizen": "andrew-beardsworth",
|
||||
"url": "https://andrew-beardsworth.4ort.net",
|
||||
"tagline": "andrew-beardsworth",
|
||||
"pages": []
|
||||
"pages": [
|
||||
{
|
||||
"title": "About",
|
||||
"href": "https://andrew-beardsworth.4ort.net/about.html"
|
||||
},
|
||||
{
|
||||
"title": "Contact",
|
||||
"href": "https://andrew-beardsworth.4ort.net/contact.html"
|
||||
},
|
||||
{
|
||||
"title": "Negros Fruit Dove Conservation",
|
||||
"href": "https://andrew-beardsworth.4ort.net/negros-fruit-dove.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user