UnforgedUnforged

RFA / Brand audit

Theunsentapplication.

The handler written for one form.

Thirteen published surfaces were checked from outside with nothing asked of either account, and the handler written for one form is what this document lands on.

The form says it arrived. Nothing typed into it leaves the browser.

Thirteen of thirteen surfaces answered on the day they were checked, and 190 posts on one grid and 171 on the other were scored against their own medians.

Read from outside on 11 August 2026. The application page's other script, nav.js, was read on 18 August 2026.

01 / 16

What follows

Three ranked findings, one estate.

The handler at rank one.

The handler written for one form is rank one of the three below.

Checked on 11 August 2026 from the two public grids, both biographies, the brand site, the diagnostic and every link either profile publishes, with one file read on 18 August.

The rule this list is sorted by

Ranked by what a reader can check, and by how much is already on the brand site.

  1. Rank one

    The cancelled submission.

  2. Rank two

    The reply that cannot be given.

  3. Rank three

    The four silent write paths.

Rank one needs no build.

02 / 16

The two intakes

Two intakes, two different asks.

Two intakes on two deploys.

Two owned intakes sit on two different Netlify deploys, and past a first name and an email they never ask the same thing.

Intake What it asks Where it sits
The diagnostic 10 profile questions, then 15 diagnostic questions audit.rfacoaching.com, a name pointed at nervous-system-diagnostic.netlify.app. Both hosts served one body, md5 8af64f6acb986714e31ae9c21ef1d56d, 39,304 bytes, both answering 200
The written application Nine named answer fields, from a first name to how the applicant found RFA rfacoaching.com/apply, on the brand site's own apex record, a different deploy

A Netlify site serves one deploy across all of its domains, so two different roots is two different sites. The two builds subscribe through two different form ids on the same email platform. The diagnostic's own build is served at a third address on the brand site's deploy, and its gate there is the same two field form, so that address is a third door onto the first intake rather than a third intake.

The block that sends people to the diagnostic advertises 30 diagnostic questions, and that block is published on two of the brand site's own routes, each with an anchor beneath it resolving to /osb.

Past a first name and an email, neither asks what the other asks. The diagnostic's own landing card names an occupation set, and none of its ten profile questions asks for it. The application does.

Read from the brand site, the audit subdomain and the raw funnel host on 11 August 2026.

03 / 16

The teardown

The strongest three on each grid.

Six frames already on the grids.

The strongest three on each grid inside the twelve months to August 2026, in date order, on the grids linked to the intake.

Eilidh

eilidhsutherland.rfa

171 scored posts, April 2025 to July 2026

  1. Post frame from the eilidhsutherland.rfa grid, 2025-08-17
    2025-08-17 / Sidecar 277 likes, 5.89x own median
  2. Post frame from the eilidhsutherland.rfa grid, 2025-08-21
    2025-08-21 / Sidecar 982 likes, 20.89x own median
  3. Post frame from the eilidhsutherland.rfa grid, 2026-04-19
    2026-04-19 / Sidecar 379 likes, 8.06x own median

Kristian

kristianhill.rfa

190 scored posts, March 2025 to August 2026

  1. Post frame from the kristianhill.rfa grid, 2025-11-16
    2025-11-16 / Sidecar 154 likes, 3.95x own median
  2. Post frame from the kristianhill.rfa grid, 2026-03-03
    2026-03-03 / Video 647 likes, 16.59x own median
  3. Post frame from the kristianhill.rfa grid, 2026-03-17
    2026-03-17 / Video 211 likes, 5.41x own median
Printed in date order, so the sequence cannot be read as a ranking. Every caption is a count and a multiple against that account's own median.

Frames and counts read on 11 August 2026.

Pinned posts are excluded from every performance figure here.

04 / 16

In its own words

The card that names the buyer.

The buyer description, once.

The intake publishes RFA's own description of its buyer on its landing screen, in front of its two field form, and no biography carries it.

The WHO THIS IS FOR card, on the diagnostic's landing screen. Read from audit.rfacoaching.com on 11 August 2026.
Founders, executives, and high performers in their 30s and 40s who have built something impressive on the outside but feel like something underneath isn't quite right. You're successful by most measures. But the walls are crumbling privately.

Where that sentence renders

  • The diagnostic's landing screen, in front of the two field form: yes
  • The eilidhsutherland.rfa biography: no
  • The kristianhill.rfa biography: no
  • The brand site hero: no

It renders on the intake and on none of the three surfaces listed above it. Neither biography names that reader, and the hero opens on outcomes.

05 / 16

The buy path

Two routes that do not meet.

The route behind the third link.

Two routes leave the grids and reach two different intakes, and both first bio links land on one of the two.

Route A

  1. Instagram profile

    rented

  2. First bio link, resolving on both profiles to the diagnostic

    rented placement

  3. The diagnostic gate, a first name and an email posted before question one

    owned deploy

    No privacy notice, cookie banner, terms link, consent control or unsubscribe reference on the screens either side of it. One sentence there speaks in the page's own voice about spam and privacy, which is a claim rather than a notice, a link, a control or a named recipient.

Route B

  1. Third bio link

    rented placement

  2. The brand site

    owned

    The nav, the hero, the programmes block and the closing block all send to the booking page. The diagnostic is asked for once.

  3. The written application, which publishes a personal read and a reply if it is a fit

    owned

    The page whose title sells the work names the application as its own step one and gives that step no control of its own.

Routes read from the stored profile records, the name records, the link inventory and the seven route sweep on 11 August 2026.

The application is linked on six brand site pages and on /osb not at all, and it sits behind the third bio link, so the route both first bio links feed is the diagnostic.

06 / 16

The application, in its own words

Four published promises.

The promise printed four times.

The page promises a reply four separate times, and this is the page in its own words.

Every string here is the client's own published copy on rfacoaching.com/apply, read 11 August 2026.

Above the form
Tell us where you are and what's not working. We read every application and respond to every one that's a fit.
Beside the what happens next block
Kristian reads every application personally. If it's a fit, you'll hear back within 48 hours to schedule a call.
Under the submit button
We read every application. You'll hear back within 48 hours if it's a fit.
In the reassurance block, a read rather than a reply
Kristian reads every application himself. Not a team member, not an assistant.

A third sentence in that paragraph carries a dash and is described rather than reproduced. It tells the applicant in advance that silence means the timing or the fit was wrong rather than that the application was ignored.

The screen the handler reveals
Application Received We've got it. Kristian will read your application personally. If it's a fit, you'll hear back within 48 hours to schedule a discovery call.

The screen's heading, its line and its paragraph are three elements in the source, printed here in the order the applicant meets them. That paragraph's final sentence carries a dash and is described rather than reproduced. It directs the applicant to the inbox and the spam folder.

The nine named answer fields on that form

fname, lname, email, location, role, situation, tried, looking-for, source

07 / 16

Rank one / The application form

The cancelled submission.

A form cancelled, not unwired.

The handler written for that form cancels the browser's own submission and reveals a success screen, while a page on the same site declares its form with a POST method and posts by hand.

Two pages, one site, one deploy. Both rows are the client's own served bytes.
rfacoaching.com/apply2 absent
<form id="apply-form" name="application" data-netlify="true" onsubmit="handleApply(event)" novalidate><input type="hidden" name="form-name" value="application">
function handleApply(e) {
e.preventDefault();
document.getElementById('apply-form').style.display = 'none';
document.getElementById('success-message').style.display = 'block';
window.scrollTo({ top: document.getElementById('success-message').offsetTop - 100, behavior: 'smooth' });
}
method="POST" is absent
action="..." is absent

The declaration carries the platform attribute and the cancelling handler, and it carries no method and no action. The hidden field the platform keys on follows it inline. The handler's first statement cancels the submission and its last reveals a screen that was already in the page.

rfacoaching.com/osb, same site, same deploy
<form name="osb-signup" method="POST" netlify data-netlify="true" hidden>
fetch('/', {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({'form-name':'osb-signup','name':n,'email':em}).toString(),
}).catch(function(){});

One page away, a declaration with a POST method and both platform attributes, and beneath it a hand written post that sends the form name first.

Send constructs counted across the whole application document, every one of them zero: fetch(, XMLHttpRequest, sendBeacon, new FormData, URLSearchParams, requestSubmit, .submit(, action=, method=. The document carries two script tags. The other is nav.js, a menu toggle, an active link class and a scroll reveal, with no submit listener and no reference to any form.

What it costs

The declaration is present, the send is absent, no other script touches the form, and nothing typed into it leaves the browser.

Where the claim stops

The claim is transmission. Whether a form named application is registered on that build is not readable from outside, and this document does not say.

What has to exist

A check rather than a code review: the page source, searched for the word fetch or the word action.

What would kill this finding

The submission counter on the form named application in the Netlify account is the cheapest test in this document, and its asymmetry travels with it. A non zero count kills this finding outright. A zero count proves nothing, because it is equally consistent with nobody having applied and with everybody having applied and nothing arriving. The code proves the mechanism. Nothing available to either side proves the count.

The form, the handler, the construct counts and the sibling page read 11 August 2026. The page's other script, nav.js, read 18 August 2026 by one plain request, with no submission of any kind.

08 / 16

Rank two / The answer the page promises

The reply that cannot be given.

A promise with no other side.

The reply the page promises four times cannot be given, because a person who typed nine answers reads it arrived while nothing they wrote left the browser.

One row for each thing the page does with an application.
What the page publishes What the applicant is shown What leaves the browser
A personal read, and a reply if it is a fit, published four times on that page Three above and around the form, the fourth on the screen the handler reveals, all quoted whole on the slide before this one Nothing
A success screen Pre rendered in the page, hidden in the page's own style block and flipped to visible by the handler, so a failure and a success look identical Nothing
A record of the submission Nothing is shown, because nothing is written Nothing. Zero send constructs in the application document, none in its menu script, and no localStorage, sessionStorage, indexedDB or document.cookie in either file

This failure mode writes nothing, so it leaves nothing to audit backwards.

What it costs

For any person who submits this form the page's promise cannot be kept, because nothing sits on the other side.

Where the claim stops

It is a property of the route, true at every volume including none. No number of people is counted here and none exists in this evidence base. The absence of records is bounded by the two files this capture reads.

The promises and the success screen read 11 August 2026. The absence of any transport rests on both files, the application page on 11 August 2026 and nav.js on 18 August 2026.

09 / 16

Rank three / The write paths

The four silent write paths.

Four writes with no failure path.

The handlers on four write paths across two builds swallow their own failures and carry on, so a failed capture looks like a success.

Four write paths, one row each, across the two builds this estate serves.
Where the write is What follows the failure
The diagnostic, its first write to the email platform An empty catch. The run continues.
The diagnostic, its second write to the same platform An empty catch. The run continues.
The diagnostic, its third write, back to its own deploy An empty catch, and the screen advances with no wait on any of the three.
The breakdown page, its write to a serverless function An empty catch, and the result screen renders on the next line regardless.

One write on this estate posts to a root whose own declaration carries a POST method and both platform attributes. The breakdown page posts by hand to its own root with the form name first, and the comment above it in the source calls that the backup to the platform's own forms. Three of the four paths are written once and served by both builds, so the two stored bodies carry seven write sites between them and every one of the seven closes the same way. It is named beside the table and it is not a fifth row: the column beside it asks what follows a failure, and this one is cited for where it posts.

What it costs

This is four paths rather than one incident. Posting one form closes one hole and leaves the paths that made it.

Where the claim stops

What did or did not arrive on any of the four was not tested, and this document does not say.

All four write paths, their seven served sites and their catch clauses read 11 August 2026.

10 / 16

The format figure

One format splits the grids.

The format that does not travel.

Video carries the engine verdict on one grid and not on the other, while Sidecar carries it on both grids linked to the intake.

The test A format's own likes median against that account's own likes median, over that account's own scored set. Engine needs a sample of five or more, two posts at or above 2.0x, and a format median at or above that account's own. The verdict and the sample travel on every bar.

Sidecar

Eilidh eilidhsutherland.rfa

1.15x n 112, likes median 54.0, 12 posts at or above 2.0x engine

That account's own likes median, 1.0x

Kristian kristianhill.rfa

1.03x n 145, likes median 40, 18 posts at or above 2.0x engine

That account's own likes median, 1.0x

Image

Eilidh eilidhsutherland.rfa

0.81x n 40, likes median 38.0, 3 posts at or above 2.0x not engine

That account's own likes median, 1.0x

Kristian kristianhill.rfa

0.82x n 32, likes median 32.0, 2 posts at or above 2.0x not engine

That account's own likes median, 1.0x

Video

Eilidh eilidhsutherland.rfa

1.11x n 19, likes median 52, 0 posts at or above 2.0x not engine

That account's own likes median, 1.0x

Kristian kristianhill.rfa

2.0x n 13, likes median 78, 7 posts at or above 2.0x engine

That account's own likes median, 1.0x

Eilidh eilidhsutherland.rfa Kristian kristianhill.rfa

Format likes median as a multiple of that account's own likes median

The scale runs to 2.0x, the largest multiple any of these six rows reaches. It is an axis ceiling read from the data and it is not a target.

The same six rows as a table
Format Account Against own median Scored posts Verdict
Sidecar eilidhsutherland.rfa 1.15x n 112, likes median 54.0, 12 posts at or above 2.0x engine
Sidecar kristianhill.rfa 1.03x n 145, likes median 40, 18 posts at or above 2.0x engine
Image eilidhsutherland.rfa 0.81x n 40, likes median 38.0, 3 posts at or above 2.0x not engine
Image kristianhill.rfa 0.82x n 32, likes median 32.0, 2 posts at or above 2.0x not engine
Video eilidhsutherland.rfa 1.11x n 19, likes median 52, 0 posts at or above 2.0x not engine
Video kristianhill.rfa 2.0x n 13, likes median 78, 7 posts at or above 2.0x engine

Six measured rows read 11 August 2026, each with its own sample.

Every median travels with its sample, its qualifying count and its verdict.

11 / 16

The record

Six more measured rows.

The record, not a lever.

Six more measurements, reported symmetrically for both accounts, from the two grids that put the intake behind their first bio link.

Measured Eilidh Kristian
Posts a month, median, across active months 10.0 across 16 active months 12.0 across 18 active months
Comments, median 2 1.0
Posts carrying play data 19 of scored rows, 19 of all rows 13 of scored rows, 14 of all rows
Strongest post against its own median 20.89x 16.59x
Posts carrying a tag, counted over all rows including pins 2 posts, 2 tags, over 173 rows 11 posts, 12 tags, over 193 rows
Distinct commenters observed 137 156

Each column is read against that account's own scored set, 171 posts on eilidhsutherland.rfa and 190 on kristianhill.rfa. The tag value for eilidhsutherland.rfa is the audited one, after a parse artefact was removed from the field. The commenter counts are floors, bounded by how many comments the scrape returned per post, and 47 of those commenters appear on both accounts.

Read 11 August 2026, over April 2025 to July 2026 on eilidhsutherland.rfa and March 2025 to August 2026 on kristianhill.rfa.

None of these six rows is a lever this document pulls.

12 / 16

The naming

Four names for one asset.

One asset under four names.

One intake carries four names across the surfaces leading to it, and the work the site calls the reader's problem is sold under a different name again.

One asset, four names

Read from the funnel, the brand site and both biographies on 11 August 2026.

On the funnel, and in the site's own Free Diagnostic block
The Operating System Breakdown
The titled bio link, on both profiles
Nervous system audit
In one biography
Complete FREE audit
In the other
FREE audit

One kind of work, three vocabularies

Read from the brand site on 11 August 2026.

The condition, as the site states it. The two sentences are separated in the source and read as one line on the page.
You don't have a productivity problem. You have a nervous system problem.
The method, further down the same page

The method sentence carries a dash and is described rather than reproduced. It names identity deconstruction, nervous system regulation and somatic work as three stages working at once.

The inclusion line that sells that work, inside the RFA PRO block
Subconscious pattern rewiring
I want to be world-class in this space of like subconscious rewiring.
Kristian Hill, calibration call, 17 August 2026

Said on that call about the same work, reproduced here rather than found here.

What it costs

A reader arriving through one door and buying through another meets a new name at each step.

13 / 16

The move

Two ways to make the send.

The form with a POST method.

The send happens in either of two ways, one smaller and one that keeps more, and the second step is the same.

  1. One The change

    To stop cancelling the submission and give the form a POST method.

    Two edits on the one line the form tag occupies: the onsubmit attribute comes off, the POST method goes on. The hidden form name field is already inline, directly after it on the same line.

  2. Two The belt and braces version

    To post it by hand the way /osb on the same site already posts to /, which also keeps the screen the applicant reads.

    Move one deletes the only code in the document that reveals the success screen, so the applicant stops reading its first line and meets whatever the platform's own confirmation is. That is what the braces are for.

  3. Three The second step, either way

    To submit one application and confirm it arrives.

    Whether the form is registered on that build is not readable from outside, so neither move can be promised to work. This step settles it, and answering what then comes in is an operations commitment rather than a code change.

The form tag and the hidden field are read from the client's own served bytes. What the platform's own handling keys on is knowledge about that platform, and it is labelled here rather than carried under the same heading as a byte.

The form tag, the hidden field and the sibling page's post read from the client's own served bytes on 11 August 2026.

This one is two edits on one line. What is not small is answering what comes in against the promise the page publishes.

14 / 16

What we would build

Four builds, in dependency order.

A send that can be watched.

A send that can be watched is the first of four builds.

The second is an intake whose output persists, the third a reading a visitor can check against their own answers, the fourth the diagnostic's own continue control and progress labels.

Every build names a defect read on 11 August 2026. Nothing here projects a result.

None rebuilds what already runs.

15 / 16

UnforgedUnforged

What we still need

Five answers we do not have.

The five answers still missing.

Four of these five can be answered in a sentence. The first names the reply the page promises.

  1. One What happens to an application once it arrives, and who answers it against the reply the page already promises.
  2. Two What the nine day sequence says after capture. No read from outside reaches it.
  3. Three Whether a form named application exists in the Netlify account. This is the question that can be answered while reading this.
  4. Four What the discovery call screens for before it starts. The booking page was never captured.
  5. Five An Instagram Insights export from both accounts.