Seven in ten change programs miss their targets

Make sure yours isn't one of them.

Studies from McKinsey and Harvard put change failure at around seven in ten. The TJ Method gives you a senior change partner and a platform that catch what's slipping early — so your change lands, and your people come with you.

20+ years leading change · KPMG, Deloitte, Westpac, HSBC and more · held in confidence

Your adviser
Thomas Joffe · CTC
Senior transformation partner
F The Foundry

Prepare

Clarify the change and what matters most.

Rehearse

Plan the conversations, align the team.

Sense

Spot patterns and act on what's emerging.

Three teams are raising the same adoption concern.
View
AI insights grounded in your transformation context.

Senior judgement on the calls that count — and steady support in between.

1

A steady hand in the rooms that set the tone

Senior change leadership brings experience, judgement and accountability to your most important moments — sponsor rooms, hard conversations, the calls that set the tone.

2

Contextual intelligence

The Foundry applies AI to your unique context — surfacing signals, connecting dots and keeping the change work moving between sessions.

3

Organisation-wide capability

Leaders and teams are enabled every day, with the right guidance at the right time — not only when the adviser is in the room.

Sharper decisions. Adoption that holds. Progress you can measure.

Strategy to outcomes

Translate the transformation into a plan people can act on — and a line of sight from decision to result.

Supported every day of the change

Not a deck-and-leave engagement. Guidance every day of the change, for leaders and teams alike.

Stronger leadership at every level

Sponsors, managers and change leads enabled to hold the line when it matters.

Evidence that drives decisions

Readiness, alignment and adoption you can measure — so momentum is a reading, not a hunch.

The listening principle

Noise isn't resistance.

When people push back it's rarely a blocker. It's one of three things — unaware, surprised, or a valid concern — and each needs a different response, not a louder message.

Two decades, across the rooms that decide

Trusted inside global transformations.

KPMGDeloitteWestpacHSBCRocheBarclaysAdelaide UniversityFlinders UniversityEldersMS AmlinHerbert Smith FreehillsLaing O’RourkeBircham Dyson BellFreshfields KPMGDeloitteWestpacHSBCRocheBarclaysAdelaide UniversityFlinders UniversityEldersMS AmlinHerbert Smith FreehillsLaing O’RourkeBircham Dyson BellFreshfields

Engagements have included transformation strategy, executive coaching, change leadership, capability uplift and culture work — some under non-disclosure, all held in confidence.

Human judgement · Continuous change support

The plan is written. Your people are the variable.

Pair a senior adviser with a platform that reaches every day of the change — and turn motion into progress that lasts.

Senior change leadership — without the permanent hire

Seven in ten transformations fail. Don't lead one of them.

I'm Thomas Joffe — an enterprise change and transformation leader with 20+ years across KPMG, Deloitte and senior client-side roles in banking, higher education, aged care and professional services. I plug in as a fractional or interim change leader: full senior weight on your most important transformation, without a permanent executive hire.

20+years leading change
55countries delivered across
$300Mlargest transformation led

What I do

Keep the programme moving where people — not the plan — decide whether it lands.

The technology usually lands. The strategy usually lands. The humans are the variable — and that's where programmes stall. I advise C-suite executives, sponsors and governance leaders on organisational readiness, adoption risk, delivery confidence, dependencies and benefits — translating complex portfolio information into clear recommendations and timely decisions, and carrying accountability beyond go-live to sustained adoption and measurable value.

1

Diagnose

Read the real temperature — team, governance, capability, capacity, morale, impact and risk. In weeks, not months. A practical picture of where delivery confidence is at risk.

2

Reset

Re-establish governance, sequence the work, align multidisciplinary teams without relying on hierarchy, and build an integrated view of change impact and capacity.

3

Embed

Lead readiness, adoption and benefits through to sustained value — defining measures before delivery and verifying outcomes after, so gains hold at handover.

Outcomes

Evidence, not adjectives.

A selection of transformations I've led or reset — with the numbers that mattered to the executives who sponsored them.

$500M
Westpac · Banking platform consolidation

Led change across a $300M programme consolidating seven legacy platforms into one — enabling recovery of ~$500M previously unrecoverable on legacy systems, across ~2,000 employees. Benefits confirmed at post-implementation review.

20,000+
HSBC · Regulatory TOM transformation

Led global readiness, adoption and learning across 50+ countries for a Third-Party-Management operating-model change — 90% completion within regulatory deadlines, coordinating 300+ stakeholders including COOs, CTOs and CEOs.

19
Adelaide University · Merger

Made cumulative impact, dependency and timing visible across 19 concurrent releases and 29 stakeholder groups in one of Australia's largest university mergers — sustaining momentum through sector-wide reform.

3 mo
Elders · Enterprise ERP reset

Diagnosed and reset a stalled ERP/CRM transformation — their largest in 25 years — restoring governance, capability, capacity and pace within three months, and handing back a stable team.

$1.4M
Global Change & Training CoE

Built a centre of excellence supporting 150+ practitioners across 55 countries, with reusable standards and tools that reduced external support by an estimated $1.4M a year.

45,000+
Deloitte · Digital workplace

Drove adoption across a 45,000+ user base and 30+ countries, including the award-winning 1NSS London campus — tailoring PROSCI-based frameworks to each initiative.

The method

The 5 Cs of Transition.

A diagnostic lens, not a model. We hold the work against five questions in the first session, and revisit them in every one after.

C

Context

What is the environment actually asking of you — and what only feels external?

C

Culture

What does this organisation reward, ignore and punish — and which will resist the change?

C

Commitment

How much skin in the game does the sponsor really have? How much do you?

C

Circles

Who influences the outcome — up, across, below — and which conversations are you avoiding?

C

Confidence

Your leadership DNA on a hard week. What does the team see now, and in ninety days?

Delivered through · a seven-phase rhythm

The Double Diamond.

Discover — map the leader and the landscape.
Immerse — spend time in the rooms that matter.
Adapt — design the small, observable shifts that fit.
Mobilise — line up the sponsors, people and signals.
Operate — run the new practice live, in real meetings.
Nourish — protect what's working; rest as method, not luxury.
Develop — consolidate the gain; the leader keeps the practice.

My doctrine

Simple, and non-negotiable.

01

No surprises.

Forward visibility for every affected person. You won't learn something difficult from someone else first.

02

Evidence before reassurance.

Straight answers backed by readiness, complexity, risk and benefits evidence — not optimism.

03

Influence without authority.

Alignment built across multidisciplinary teams and senior stakeholders, in low-trust and politically sensitive rooms.

04

Resistance is information.

Push-back is treated as a signal to understand, not an obstacle to overcome. The platform I bring is built on the same idea.

05

Stop · Start · Continue.

Every session closes with three questions. After ninety days, the list itself becomes the read on how you've changed.

06

Ready · Set · Go.

Three states, not phases. Most transformations skip Set — the alignment — and that is where they fail.

Background

From inside the world's largest transformations.

More than a decade at KPMG and Deloitte, then senior client-side roles across global banking, higher education, aged care and professional services — strategic portfolio delivery, enterprise change frameworks and governance, target operating models, ERP and CRM, platform consolidation, regulatory transformation and post-merger integration.

The TJ Method is what I built from a pattern I saw repeatedly: the systems changed, and the people didn't — because nobody slowed down to ask what becoming the new version of the team, or the leader, actually required.

Qualifications

  • Change Management Professional
  • PRINCE2 Practitioner
  • SAFe Agilist v6
  • Certified Transition Coach · ICF-aligned coaching
  • NLP Diploma
  • ITIL v3 Certified
  • BSc Computer Science, University of Hertfordshire
  • Frameworks: ADKAR · Kotter · Agile · PRINCE2 · SAFe
  • Based in Adelaide, Australia · working globally

The Foundry · by The TJ Method

Get your time back. Never be surprised by your own change.

60% of your team's day disappears into busywork while the change quietly drifts. The Foundry takes the busywork and watches every change at once — so you see what's landing before it's a problem, and never get caught out.

Change strategy · communications · stakeholder analysis · surveys · SteerCo packs — produced from your inputs, ready to use.

F The Foundry

Prepare

Clarify the change and what matters most.

Rehearse

Plan conversations, align your team.

Sense

Spot patterns and act early.

Three teams are raising the same adoption concern.
View
AI insights grounded in your transformation context.

The stakes

60%

of an employee's day is wasted on busywork. That's 144 days a year — gone to formatting decks, re-typing updates and chasing status, instead of leading the change and hearing the people in it. See how many hours you'd get back →

Sources: the busywork figure is from Asana's Anatomy of Work global index (9,615 knowledge workers, six countries) — it describes knowledge work in general, not change teams specifically, but the shape holds. The seven-in-ten change-failure figure is widely cited from McKinsey and Harvard studies.

Stop buying more AI tools your team doesn't use.

The problem with AI isn't capability — it's getting people to actually use it. The Foundry does the work, in your context, so adoption isn't the hurdle.

85%

of AI tools purchased end up unused and on the shelf.

50%

of businesses don't know how to implement AI in the first place.

33%

fear AI will take their jobs — so they quietly avoid using it.

The fact is, you need to adopt AI before your competitors do.
The reality is, your people are afraid AI will take their job.
So we didn't build scary agents nobody uses.

We built a platform that quietly does the busywork of change — so your people spend their hours on judgement, preparation and listening, not formatting. AI in the background; humans in the room.

What the Foundry does

Take the busywork. Give back the judgement.

Three jobs, one platform — so a small change team can run like a large one, and leaders get their attention back for the human part of change.

Give people their time back

Describe a change once. The Foundry produces the whole artefact set and regenerates it when the facts move.

  • Strategy, comms plan, stakeholder analysis
  • Surveys and SteerCo packs — Word, PowerPoint, Excel
  • No more re-typing the same update five ways
  • Eight facilitator-ready workshop playbooks — deck + script

See what's landing

Support leadership to read the change in flight — what's on track, what's slipping, and which sites are carrying too much at once.

  • Every change in flight on one radar, 12 months out
  • Saturation view — who's overloaded, and when
  • Health that's earned: measured, estimated, or honestly grey

Actually listen

Capture what people are really saying — before, during and after — so a signal becomes an input, not a surprise.

  • Before / during / after benchmarking
  • Surfaces the concern three teams keep raising
  • Tells unawareness from surprise from a real problem

The listening principle

Noise isn't resistance.

When people push back, it's rarely a blocker. It's almost always one of three things — and each needs a different response, not a louder message.

They are —

Unaware

They haven't heard it yet, or not from someone they trust. What looks like resistance is just distance from the message.

The response: reach, not persuasion. The Foundry shows who hasn't been reached, and by whom.
They are —

Surprised

They heard it too late to prepare. The reaction isn't to the change — it's to being caught off guard by it.

The response: sequence and lead time. The Foundry shows what's landing on whom, and when.
They have —

A valid concern

They can see a real problem you haven't. That's not obstruction — it's the most useful signal in the room.

The response: listen and adjust. The Foundry captures it so a concern becomes an input, not a casualty.

None of these is a blocker.
All of them are information.

Straight answers

What it won't do.

So there are no surprises in week three of your assessment.

It won't write your change for you.

It drafts from what you tell it. Thin intake, thin output — it says so rather than inventing a benefit nobody promised.

No single sign-on yet.

Email, password and MFA today. SSO, SAML and SCIM are on the roadmap, not built.

No HRIS, ITSM or open API.

It doesn't yet plug into your HR or service-management stack. Work comes out as Word, PowerPoint and Excel.

No independent certification.

No SOC 2, ISO 27001 or IRAP. What we do have is enforced in the database and named, migration by migration, on the Trust page.

The reasonable objections

What you're probably thinking.

The four things people say in the first ten minutes of a demo — with the answers before you have to ask for them.

“We already have a project tool.”

You almost certainly do, and The Foundry isn't trying to replace it. Jira, Asana, Planview and the rest track tasks and delivery. None of them writes your change strategy, drafts the comms, holds a stakeholder analysis with stance and influence, or tells you that four changes are all landing on the Brisbane warehouse in March.

The work The Foundry removes is the work that currently happens in Word, PowerPoint and Excel beside the project tool.

“We have templates already.”

Templates give you the shape of a document. They don't give you the content, and they have no idea when it's gone stale.

The expensive part was never starting the document. It's keeping eight of them agreeing with each other after the third date change — exactly the part a template can't help with, and the part The Foundry does without being asked.

“AI makes things up, and I sign my name to this.”

Correct, and that's the right instinct. The Foundry drafts from what you tell it and nothing else. Where the intake is thin, the output says so rather than inventing a benefit nobody promised.

Health ratings carry their basis on the face of them — measured or estimated — and a change with no readiness data reads grey, not green. Every artefact is editable, and it's yours before it goes anywhere near a stakeholder.

“My team won't adopt another system.”

They adopt tools that take work away and abandon tools that add it. The Foundry's whole premise is the first kind: one intake replaces a fortnight of re-typing.

There's nothing to migrate on day one. Start with a single live change, produce its artefact set in an afternoon, and judge the thing on that.

Give the time back

Less busywork. More judgement. Fewer surprises.

Take the three-minute read to see the hours you'd get back — then choose a plan, or come see how the platform stands up.

The Foundry · the 3-minute Read

Name the work that buries you. Get the hours back.

Your front stage is the change work you shine at; your back stage is everything that smothers it. Name the back-stage tasks you'd hand to a machine, and The Read does the arithmetic — honestly. Nobody gets 100% back: only 75% of rule-based work and 60% of preparation is counted, decision time and No-Go Zones are excluded, and every rate is printed. Nothing leaves your browser.

Your numbers, not my brackets. The total is the hours you enter, discounted at printed rates. Nothing is inferred about your organisation.
What you call human stays human. No-Go Zones and every minute of decision time are excluded by design — and shown as excluded.
It can still say no. If what you name is mostly judgement, The Read will tell you the platform isn't worth much to you.
01

Front stage / back stage

The change work you shine at, and the back-stage task that buries it. Named for the picture — it carries no hours until you add them below.

02

Your robot task

Repetitive, rule-based, high-volume change work you do every week. 75% is counted — you still read it and sign it off.

03

Your Iron Man moment

A task where you're the expert, but you spend most of the time on prep before the judgement. 60% of prep is counted; decision time is excluded.

04

Your No-Go Zones

The relationship, moment or decision that should never be handed to a machine. Excluded from the total by design.

Your Read
Nothing to add up yet
0 hours / year
You have not named anything a machine could take.

That's roughly0 working days
Of one person's 220-day year0%
Value a year$0


Everything you type stays in this browser, saved locally so you can close the tab and come back. Nothing is sent to a server; no email required to see your result.

The Workbench · a quiet first step

See what's true, put the page in the room, and run the whole change.

Short, structured tools for leaders in transition. Pick a Read when you're not sure what's true. Pick a Frame when you have to put a page in front of someone by Friday. Free, no account, five to sixty minutes each. When one change becomes a portfolio, The Foundry runs the lot.

01 · Diagnose

The Method Reads

Eight short reads on the parts of a transition most assessments miss. Each returns a one-page read, in your language, with one specific thing to do about it.

01
The Leader's Read — 5 Cs snapshot for an individual leader.
02
The Pressure Read — how loud is the organisation right now.
03
The Sponsor Read — is your sponsor sponsoring, or watching.
04
The Signal Read — what actually lands when you speak.
05
The Impact Read — who actually changes, and by how much.
06
The Capability Read — can your people do what you're asking.
07
The Bridge Read — can you see the river from both banks.
08
The COPPSE Read Master — the six dimensions of organisational readiness.
02 · Produce

The Method Frames

Five working templates for the artefacts that actually have to land. Fillable on the page, saved in this browser as you type. Print, copy or email when done.

01
The Vision Frame — a one-page becoming-statement.
02
The Pitch Frame — a 60-second account, said the same way every time.
03
The Message Map — one page, four to six agreed messages.
04
The Impact Map — who feels the change, across COPPSE.
05
The Capability Map — skill, behaviour, tool, confidence, matched to the intervention.
03 · Run

The Foundry

The Reads tell you where you stand; the Frames give you the page. The Foundry runs the whole change — and every other change happening at the same time — producing the strategy, comms, stakeholder analysis, surveys and SteerCo pack, then keeping them honest as the facts move.

01
The Change Radar — every change in flight, twelve months ahead, one view.
02
The Load Gauge — which site is over capacity, and which change to move.
03
The Artefact Set — strategy, comms, stakeholders, surveys, SteerCo, produced.
04
Measured, not asserted — green has to be earned with a real reading.
05
Workshop Playbooks — eight facilitator-ready packs, deck and script included.

How to use the Workbench.

If you're not sure whether you have a problem, start with a Read. If you know what the problem is and have to put a page in front of someone by Friday, start with a Frame. If you're sitting inside a live transformation, run the COPPSE Read first — the pattern of which dimensions hold and which slip will tell you more than any progress report. If you're running more than one change at once and can't see how they collide, you've outgrown the bench: that's what The Foundry is for.

Run a Read. Take what it surfaced. Open the matching Frame, fill the page, walk into the room. The bench is meant to be used that way — small, structured, in cycles, with the leader doing the work rather than watching it happen.

Every response stays in your browser. Nothing is sent unless you choose to send it. If you'd like the instruments translated into a working session — with the leadership team in the room and the page on the wall — that conversation is free.

The Foundry · pricing

Start where your change is.

Every plan turns one intake into the whole change set, shows you what's landing on the same people at once, and hears how they're taking it. Add a senior adviser when judgement is on the line.

Project Pass
A$12,997 one-off
One change, end to end · 6-month term, then read-only.
  • 1 project · 2 team members
  • Full artefact set + change radar
  • 400 AI generations
  • MFA included · data in Australia
Practitioner Popular
A$497 / month
For the change lead running several changes.
  • 3 projects · 1 login
  • 300 AI generations / month
  • Cancel or change plans anytime
  • MFA included · data in Australia
Team
A$2,497 / month
For a change function or PMO · extra seats A$497/mo.
  • Unlimited projects · 10 members
  • Portfolio radar + saturation
  • 1,500 AI generations / month
  • MFA included · data in Australia
Enterprise
Let's talk
For larger or regulated organisations.
  • Everything in Team
  • SSO roadmap & data-residency
  • Dedicated onboarding & support
  • MFA · volume generations

Need more generations? 250 for A$49, valid 12 months — buy from inside your account, any time.

Every plan runs with MFA and stores your data in Australia (Sydney) · Trust & security · FAQs

Not built yet, on any plan: single sign-on (SSO/SAML) and your logo on exports — we say so rather than imply otherwise.

Describe the change once, and every plan drafts the whole set.

Drafts, not blank templates

Change strategy, comms plans and the actual comms, training-needs analysis, stakeholder maps, champion-network design and survey instruments — drafted from your intake.

Yours to edit in Office

PPTX, DOCX, XLSX and PDF you can edit and re-skin in Office. SteerCo decks rebuild themselves from live project data each cycle.

Regenerate when reality moves

Survey results and adoption signals feed back in. Regenerate any artefact when reality moves, with a diff view so your edits are never clobbered.

One region, no trackers

Every customer's data sits in one Sydney (ap-southeast-2) database — no replica, no backup offshore. No analytics, tracking pixels, third-party fonts or CDN assets. AI drafting is the exception and it leaves Australia; the Trust page says exactly how.

Controls that hold even if the app is bypassed.

Four controls a procurement reviewer will ask about. Each is enforced by PostgreSQL itself, so it holds whether the request comes from our app, a stolen session or a direct API call — and each is listed with what it does not cover.

Multi-factor authentication

A 6-digit code from any authenticator app — Microsoft Authenticator, Google Authenticator, 1Password, Authy, Bitwarden (TOTP, RFC 6238). Anyone who administers an org must hold one; anyone who holds one must present it to open a confidential change.

Not: an org-wide requirement an owner can force on every member, and no printed recovery codes. And not SSO — no SAML, OIDC or SCIM yet.

Every plan, no extra cost

Tenant isolation

One organisation can't read another's data because row-level security inside PostgreSQL forbids it — not because the interface filters the list on the way out. Policies are both ENABLEd and FORCEd, so they apply to the table owner too.

Not: a separate database per customer. Every org shares one Sydney database, isolated by policy rather than by instance.

Every plan

Confidential changes, walled

A restructure or an exit doesn't have to be visible to the whole change team. A confidential change is invisible to everyone outside its clearance list — including your own org administrators, who sit outside the wall by design.

Not: hidden from us. We can reach the database to operate the service, and the Trust page says who and when.

Every plan

An audit log nobody can rewrite

The activity log is append-only, and not by convention: no UPDATE or DELETE permission on that table exists for any application role. There's no privileged path that redacts a line, because the permission that would do it was never granted.

Not: a tamper-evident ledger with cryptographic chaining, or a SIEM feed.

Recorded on every plan

What we don't have is listed with the same care — no SOC 2, ISO 27001, independent pen-test or SSO — with the migration filenames behind each control, on the Trust page.

The Foundry · trust & security

Written for the person who has to sign off a new supplier.

Where your data is, who else touches it, what the product actually enforces, and what we don't have yet. Every control is implemented in the database, and the migration that implements it is named so your engineer can check rather than take our word for it.

Read this first — what we don't have

  • No SOC 2 report, ISO 27001 certificate or IRAP assessment — none started.
  • No independent penetration test. An internal, AI-assisted source and configuration assessment (22 Aug 2026) found no confirmed critical vulnerability and fixed four repository gaps — but it is not an independent attestation.
  • No SSO, SAML or SCIM yet. Signing in with a Microsoft work account is on the roadmap, not live.
  • AI drafting runs outside Australia (Anthropic's first-party API). A local-model option that avoids this exists in a self-hosted build, not on the hosted service.

We'd rather you learned this from us than found it in week three of an assessment.

Your data is stored in Australia

All customer data is stored in Australia, in a single Supabase project in the AWS Sydney region (ap-southeast-2). One region — no second project, no replica, no backup we operate outside Australia.

✓ Database, storage and backups all in Sydney

Multi-factor authentication — live

A 6-digit code from an authenticator app (Microsoft Authenticator, Google Authenticator, 1Password, Authy, Bitwarden — TOTP, RFC 6238). Any account can enrol; anyone who administers an org must hold a factor; anyone with one must present it to open a confidential change.

✓ Live — migration 0066_mfa.sql applied

Security is in the database

Access control, tenant isolation and every business rule are enforced in PostgreSQL with row-level security — not in the browser, where a determined user could bypass it. The controls are append-only and named migration by migration.

✓ Row-level security, enabled and forced

Your data isn't training data

Your content is not used to train AI models. AI drafting is a first-party API call that returns your draft and retains nothing for training. Where data is processed is set out plainly, including the parts that run offshore.

✓ No training on your content

Uptime, honestly stated

We don't underwrite our own contractual SLA. The platform runs on Hostinger (which advertises 99.9%) and Supabase in AWS Sydney (the advertised availability for the project). Composed in series, that's roughly 99.8% expected availability — stated as the providers' figures, not a guarantee we sign on top of theirs. If a formal SLA is a procurement requirement, that's an Enterprise conversation.

✓ ~99.8% expected, on the providers' advertised availability

Who's behind it

The Foundry is supported by a three-person business team: David leads sales, Shirley leads business relationships, and Thomas leads development and support. It's a small, deliberate operation — there's no dedicated security team or 24/7 staffed on-call, and we say so rather than imply otherwise. If you find a claim on this page you can't verify, tell us and we'll correct it.

The Foundry · questions & fair objections

The things a careful buyer actually asks.

Isn't this just another AI tool my team won't use?
Fair concern — 85% of AI tools bought end up unused. The difference is that The Foundry does the work rather than handing you a blank prompt: describe a change once and it produces the artefact set. Adoption isn't a hurdle because there's nothing to "adopt" — you get the output.
How is this different from Prosci Proxima or a tracking tool?
Trackers and Proxima scaffold empty plans. The Foundry generates the actual artefacts — strategy, comms, stakeholder analysis, surveys, SteerCo packs — and keeps them honest as the facts move, while showing every change landing on the same people at the same time. It's methodology-agnostic and doesn't reproduce anyone's copyrighted framework.
Do I need a change-management certification to use it?
No. The Foundry encodes good practice so a capable leader without a formal qualification can produce work that stands up — and gives certified practitioners a faster path to the same output.
What counts as an AI generation, and what if I run out?
A generation is one AI-produced draft — a comm, an impact assessment, a survey, and so on. Regenerating after an input changes counts too. If you reach your monthly allowance, add a top-up pack (250 generations for A$49, valid 12 months); nothing stops working, you just draw from the pool.
Do you charge separately for AI usage?
No. There's no metered token billing — that would punish you for using the regenerate loop, which is the whole point. The price you see is the price you pay; the generation allowance is generous and top-ups are flat-rate.
Is my data used to train AI models?
No. Your content is never used to train models. AI drafting is a first-party API call that returns your draft and retains nothing for training. See the Trust page for exactly where each step runs.
Where is my data stored?
In Australia — a single Supabase project in the AWS Sydney region (ap-southeast-2). One region, no replica outside Australia. AI drafting is processed offshore via Anthropic's API; that's stated plainly on the Trust page, and a self-hosted local-model build avoids it.
Do you have SSO, MFA or a SOC 2 report?
MFA (authenticator-app TOTP) is live now. SSO/SAML and SCIM are on the roadmap, not yet available. There is no SOC 2 report or independent penetration test — we're specific about that on the Trust page rather than implying otherwise.
What does a seat mean, and can I add more?
A seat is one login. Project Pass includes 2 members, Practitioner 1, Team 10. On any paid plan you can add an extra seat for A$497/month. Try to exceed your limit and the platform prompts you to upgrade rather than silently blocking work.
Can I cancel or change plans?
Yes, anytime, from inside your account. A monthly plan stops at the end of the period. A Project Pass runs its 6-month term and then goes read-only — your work stays visible and exportable, it just can't be edited until you renew.
Can I put my own or my client's branding on the outputs?
Not yet. Exports currently carry The Foundry's own styling on every plan — there's no logo upload, organisation colour set or white-label theme in the product. The honest workaround is to export to Word or PowerPoint and apply your (or your client's) template in Office. Customer branding is on the roadmap, not built today.
Is there a trial or a demo?
Yes — sign in and choose the Demo environment to explore a fully worked example with no real data, or start on a plan and use the Live environment for your own change. The free Workbench is another way in, with no account at all.

About

Thomas Joffe.

Certified Transition Coach and enterprise change leader. Before coaching, I spent more than a decade in senior roles across global banking, insurance, higher education, legal, pharmaceutical, agriculture, aged care, professional services and marketing.

What I learned, repeatedly, is that the technology landed and the strategy landed — the humans didn't. Not because they couldn't, but because nobody slowed down to ask what becoming this new version of the team, or the leader, actually required.

The TJ Method is what I built from that gap: executive coaching with the discipline of transformation, and transformation with the patience of coaching. It's quiet, it's structured, and it leaves the leader — and the system — more capable than when we started.

Credentials & background

  • Certified Transition Coach
  • ICF-aligned coaching
  • Change Management Professional
  • PRINCE2 Practitioner
  • SAFe Agilist v6
  • ITIL v3 Certified
  • NLP Diploma — anchoring, reframing, identity work
  • BSc Computer Science, University of Hertfordshire
  • 20+ years across KPMG, Deloitte and senior client-side roles
  • Banking, higher education, aged care, professional services
  • Based in Adelaide, Australia · working globally

Let's talk

A first conversation is free, and short.

Thirty minutes, no slides, no sell. We work out whether your situation is something I can usefully help with — and if it isn't, I'll tell you who might.

Or send a note

Every conversation is held in strict confidence.

The Workbench · the Method Reads

Diagnostic reads from inside the work.

Eight short, structured reads on the parts of a transition most assessments miss — the signals you're sending, the load you're carrying, the bridge you're asking people to cross. Each returns a one-page read, in your language, with one specific thing to do about it. Free. No account. No follow-up unless you ask.

8Reads
70Questions total
4–7 minPer read
39Scored dimensions
01

The Leader's Read

Where is your transition strong — and where is it leaking energy?

10 questions · 5 minutes · For the leader inside the transition

Start the read →
02

The Pressure Read

How loud is your organisation right now?

8 questions · 4 minutes · For executives carrying the change portfolio

Start the read →
03

The Sponsor Read

Is your sponsor sponsoring — or watching?

8 questions · 4 minutes · For programme leads, transformation directors, sponsors

Start the read →
04

The Signal Read

What actually lands when you speak?

8 questions · 4 minutes · For comms leads, directors, executives whose words travel

Start the read →
05

The Impact Read

Who actually changes — and by how much?

8 questions · 5 minutes · For HR directors, CPOs, anyone designing change others live

Start the read →
06

The Capability Read

Can your people do what you're asking of them?

8 questions · 4 minutes · For L&D directors, CPOs, operating-model designers

Start the read →
07

The Bridge Read

Can you see the river from both banks?

8 questions · 5 minutes · For transformation directors, strategy leads, COOs

Start the read →
08

The COPPSE Read Master

The six dimensions of organisational readiness — Customer, Operating, People, Process, System, Environmental.

12 questions · 7 minutes · For CEOs, transformation directors, anyone accountable for the whole programme

Start the read →

The Workbench · the Method Frames

Working templates for the artefacts that have to land.

Five one-page frames you fill in on the day — the questions a leader has to answer to produce a vision, a pitch, a message map, an impact assessment or a capability plan specific enough to actually travel. Fillable on the page, saved in this browser as you type. Print, copy or email when done.

5Frames
4Field types
15–60 minPer frame
0Accounts to create
01

The Vision Frame

A one-page becoming-statement — specific enough that a frontline person can repeat it back.

5 sections · 20–30 minutes · For CEOs, transformation directors, team leaders

Open the frame →
02

The Pitch Frame

A 60-second account of the change, said the same way each time, by every leader in the room.

5 sections · 15–20 minutes · For executives, transformation directors, sponsors

Open the frame →
03

The Message Map

One page, four to six messages — every leader saying the same five sentences, because they actually agree.

4 sections · 30–45 minutes · For comms leads, directors, executive teams

Open the frame →
04

The Impact Map

A structured read on who feels the change, across the six COPPSE dimensions — with a specific action against each.

4 sections · 45–60 minutes · For transformation directors, CPOs, COOs, programme leads

Open the frame →
05

The Capability Map

A gap-read across skill, behaviour, tool and confidence — because each needs a different answer. Training is only one of four.

5 sections · 45–60 minutes · For L&D directors, CPOs, transformation leads

Open the frame →

Frames produce artefacts. Reads produce understanding. Use a Read first if you're not sure what's true.

← Trust · Full documentation

Trust & security — the full record.

Everything a procurement or security reviewer needs, in one place. Every control names the migration that implements it, so your engineer can check rather than take our word.

The Foundry — change management software by The TJ Method

Last updated: 22 August 2026 · Contact: thomas@thetjmethod.com.au

This page is written for the person in your organisation who has to sign off on a new supplier. It says where your data is, who else touches it, what the product actually enforces, and what we do not have. Every control described here is implemented in the database and the migration that implements it is named beside it, so your engineer can check rather than take our word for it.


Read this first — what we do not have

We would rather you learned this from us than found it yourself in week three of an assessment.

  • No SOC 2 report. No ISO 27001 certificate. No IRAP assessment. None started.
  • No independent penetration test. On 22 August 2026 we completed an internal, AI-assisted source and configuration assessment, following the earlier structured adversarial review. It found no confirmed critical source-code vulnerability, fixed four repository gaps, and recorded the unresolved risks openly below. It did not test the production service. On 25 August 2026 a further internal assessment exercised the running hosted service itself — live multi-tenant isolation (two accounts, confirming no cross-tenant read, write, delete or privilege escalation), Edge-Function authentication, HTTP security headers and transport security — with no high or critical findings; the one gap it found, a missing Content-Security-Policy, was added the same day. Both are internal evidence and not an independent attestation.
  • No independent privacy assessment. On the same date we completed an internal, AI-assisted privacy impact assessment across the whole product. It is not legal advice, not a certification, not independent assurance, and no customer, employee representative or outside assessor took part. It produced a register of privacy risks and a dated action register, and none of those actions is closed yet. Completing an assessment is not the same as fixing what it found. Several corrections on this page came straight out of it and are marked where they appear. See §Privacy assessment below.
  • No SSO, no SAML and no SCIM. Multi-factor authentication — a 6-digit code from an authenticator app (Microsoft Authenticator, Google Authenticator, 1Password, Authy, Bitwarden — TOTP, RFC 6238) — is live. Migration 0066_mfa.sql is applied to the hosted service: any account can enrol, anyone who administers an organisation must hold a factor, and anyone who holds one must present it to open a confidential change. It is still not an org-wide policy an owner can force on every member, and there are still no printed recovery codes. See §MFA below for exactly what the control does and does not reach. Signing in with a Microsoft work account (Entra ID) is a different question and the answer to that one is still no.
  • No continuous integration and no staging environment. Version control was established on 20 August 2026.
  • AI drafting runs outside Australia. The local-model option that avoids this is available in a self-hosted build, not on the hosted service. See §2.
  • The Foundry is supported by a three-person business team: David leads sales, Shirley leads business relationships, and Thomas leads development and support. It remains a small operation: there is no dedicated security team or 24/7 staffed on-call, and technical delivery and production responsibility are concentrated with Thomas.

What we do have is a set of controls enforced inside PostgreSQL rather than in application code, and a willingness to describe them precisely. If you find a claim on this page you cannot verify, tell us and we will correct the page.


1. Where your data lives

Data at rest

All customer data is stored in Australia, in a single Supabase project in the AWS Sydney region (ap-southeast-2). That covers:

  • the PostgreSQL database — every change record, stakeholder cohort, survey response, account record and audit entry;
  • Supabase Storage — one private bucket (support-evidence) holding files you attach to a support ticket;
  • database backups belonging to that project.

There is one region. There is no second project, no read replica, and no backup or replica that we operate outside Australia. The region was fixed when the project was created and cannot be changed for an existing project.

There is also no region-routing logic in the product. The application is a single client talking to a single database URL. Every tenant's data is in Sydney because there is nowhere else for it to go — not because a flag was set correctly.

Evidence: SETUP.md §2 (project region, ap-southeast-2); supabase/migrations/0063_support_desk.sql (private evidence bucket, public = false, re-asserted on every replay); supabase/migrations/0064_data_residency_truth.sql.

Processing — a different question, with a different answer

Storage is not the whole answer, and vendors who stop at "our data is in Sydney" are usually hiding this part.

Processing stepWhere it happens
Database queries, authorisation, all business logic in SQLSydney (ap-southeast-2)
Supabase Edge Functions (AI proxy, invitations, survey submission, signed evidence URLs)Supabase's serverless runtime. We have not pinned or verified the execution region and do not claim it is Australian. These functions handle data in transit; they store nothing.
AI draftingOutside Australia — Anthropic's first-party API. See §2.
Transactional email deliveryOutside Australia — Resend. Recipient address and message body only.
Serving the web application itselfHostinger. The bundle is compiled HTML, JavaScript and CSS. No customer data passes through it — the browser calls Supabase directly. Hostinger's web server logs may record IP addresses.

Privacy assessment — scope, date and limitations

Completed 22 August 2026. Internal. AI-assisted. Not independent.

ScopeThe whole product: 106 database tables across migrations 00010068, eight serverless functions, the web application, and every privacy claim on this page and in the privacy policy.
MethodAn adversarial review whose brief was to disprove our own claims. Where a document and the code disagreed, the code won and the disagreement was recorded as a finding against us.
What it examinedThe source code we deploy from, read at a specific commit.
What it did NOT examineThe running service, with one narrow exception. It held no production credentials and did not query the production database, read a deployed function's configuration, enumerate storage buckets, inspect backups or test a restore.
The one exceptionOur own scheduler logs evidence that the hourly retention and reminder jobs really do run in production — 269 consecutive successful invocations over eleven days. They evidence nothing else, and notably they show that no purge job has ever been observed to delete a row, which we are investigating.
NotLegal advice · a certification · an independent assurance engagement · a penetration test.

Source is not production. A control being correct in the code we deploy from is not the same as that control being verified in the service you use. We separate the two everywhere on this page, and where we have not verified something we say so rather than rounding up.

Completing an assessment is not closing its findings. It produced a risk register and a dated action register. Nothing in the action register is closed. The highest-priority items are: getting a written data-processing agreement with our AI provider before more free text leaves Australia; narrowing what survives an erasure in the people register; correcting how survey respondent codes are generated; and putting the retention scheduler somewhere that alerts when it stops.

What we corrected on our public pages because of it. The survey-anonymity wording in the privacy policy (it overstated the protection); the description of what an erasure leaves behind; the scope of trash-and-purge; the fact that we record your browser's user-agent; and the limits of the respondent-code protection described above. We have left the superseded wording described rather than quietly deleted, so you can see what changed.

Availability. The assessment itself is internal, because it is a candid list of problems we have not fixed yet and publishing it in full would be a map for someone acting in bad faith. A scoped extract with current status, dated, is available under NDA.

Other regions

Hosting in another region is available by written agreement only. It is not a self-service setting, and it would require infrastructure we do not operate today. If you need EU or UK residency, ask before you buy rather than after.

The product stores a data_residency value against each organisation. It is a record of the region we have promised you, not a mechanism that puts you there — nothing in the database or the application routes by it. That column has defaulted to 'EU' for every organisation while every organisation's data sat in Sydney. Migration 0064_data_residency_truth.sql was applied on 19 August 2026; it corrected the default to 'AU', corrected every existing row, and recorded in the schema comment that the column is a declaration rather than a placement. The column now reads 'AU', which is where the data has been throughout. We are still telling you about the old default rather than quietly deleting this paragraph, because the wrong value sat in the database for months and may appear in any export you took before that date — and because a trust page that only ever describes its current state is not evidence of anything.

Who can reach it

Thomas Joffe, in Australia, holds the production credentials and leads development and support. David's sales role and Shirley's business-relationship role do not carry standing production access. That is deliberate least privilege, but it also means there is no technical segregation of production duties today: production responsibility is concentrated with Thomas. Supabase is a US-incorporated company operating the Sydney infrastructure; its personnel access is governed by Supabase's own terms, not ours.


2. Sub-processors

If you find a sub-processor we did not list, this whole page is worthless. So this is the complete list.

Sub-processorWhat it doesWhat data reaches itWhere
Supabase Inc. (US company)Database, authentication, file storage, serverless functionsEverything: change records, stakeholder cohorts, survey and pulse responses including free-text answers, account records (name, email, job role), audit log, support tickets and attachmentsData at rest in AWS Sydney, ap-southeast-2. Company incorporated in the United States.
Anthropic PBCAI drafting of change communications and plansPrompt text written by the practitioner, the change context assembled for that prompt, and any document you attach to a drafting request (including PDFs)Outside Australiaapi.anthropic.com (United States / EU). No Australian region on this API.
ResendTransactional email: team invitations, share links, password resets and confirmationsRecipient email address, organisation name, invited role, and the tokenised link. No change content and no survey data.Outside Australia. Sending domain send.thetjmethod.com.au. Resend's processing region is not contractually pinned by us; treat it as offshore.
Hostinger (Lithuania)Serves the compiled web applicationNone. Static files only. Web server logs may contain IP addresses.Hostinger hosting.

Change notice. We will give 30 days' notice before adding a sub-processor that will handle customer data, to the billing contact on the account. If you object within that period and we cannot resolve it, you may terminate without penalty for the remainder of the term.

The Anthropic disclosure, in full

This is the most important paragraph on this page for an Australian buyer.

The Foundry calls Anthropic's first-party API, which does not offer Australian data residency. When you use an AI drafting feature, the content of that request leaves Australia. We treat this as a cross-border disclosure under Australian Privacy Principle 8, and under s 16C of the Privacy Act we remain accountable for what happens to it. We do not claim the "use, not disclosure" cloud-storage carve-out for this, because running inference over your content is not a storage-and-access arrangement.

(For completeness, because your analyst will check: Claude is available in an Australian region through AWS Bedrock. Our proxy does not call it. Repointing there is on our roadmap and is not done.)

What we do about it:

  • On the hosted service, our API key is never in the browser. Every model call from a signed-in customer passes through a Supabase Edge Function that holds the key as a server-side secret, calls one hardcoded host, and accepts only an allowlist of model identifiers. A client cannot supply a URL or redirect that call. (supabase/functions/anthropic/index.ts — hardcoded endpoint and model allowlist at the top of the file; key read from the function environment.) The scope of that sentence is deliberate, because the shipped bundle also contains a browser-direct path: in the demo and in a self-hosted build, the operator supplies their own Anthropic key in Settings, it is held in that browser's local storage, and the browser calls api.anthropic.com directly (dangerouslyAllowBrowser). No key of ours is ever involved and no hosted customer's data goes that way — but if your reviewer greps our bundle they will find it, so we would rather name it here.
  • Authorisation fails closed. If the database check for a blocked account, blocked organisation or expired trial errors, the request returns 503 rather than proceeding. Read-only users are rejected at the API, not merely hidden in the UI. (supabase/functions/anthropic/index.ts, the guard block before the upstream call.)
  • Minimisation, enforced by column types. The communication-guidance path sends controlled enum labels and a controlled intent — channel, format, framing, cadence — not free text, not individual records, not sentiment. An individual is not expressible in those fields. (See ENGAGEMENT_PLAYBOOKS_DPIA.md §2 and §5, and ENGAGEMENT_PLAYBOOKS_RoPA.md.) This does not apply to a free-text drafting prompt or an attached document, where what you send is what you send.
  • The egress can be switched off — but not on the hosted service, and you need to know which one you are buying. The Foundry supports drafting against a local model on your own machine via Ollama, and in that configuration no content reaches any AI provider. That configuration is available in the demo and in a self-hosted build only. On the hosted service every drafting call routes through our server-side proxy to Anthropic, and any local engine setting is deliberately ignored — the proxy is where the spend cap, the blocked-account check and the read-only refusal are enforced, so we do not let a client setting bypass it. The engine control is hidden entirely for signed-in hosted users. (app/src/ai/client.ts, generateJSONBlocks: if (useProxy()) return claudeJSONViaProxy(...) precedes the provider switch; app/src/pages/Settings.tsx returns the "nothing to set up" card when the mode is live.) Three honest limits, then: the local model is less capable than Claude, it cannot read attached PDFs, and if you are on our hosted plan you cannot turn it on. If you need drafting to stay on infrastructure you control, that means a self-hosted deployment — raise it before you buy, not after.

What we have not done. We have not executed a Data Processing Agreement or a Zero Data Retention arrangement with Anthropic, and our proxy sets no zero-retention header. Anthropic's published commercial terms exclude API inputs from model training by default — that is a statement about their terms, not about a contract we hold. Signing a DPA is an open item in our own threat model. We will say so here when it is signed and not before.

What we do not use

The application ships with no analytics, no telemetry, no tracking pixels, no session recording and no third-party CDN assets or web fonts. There is no Google Analytics, no Sentry, no PostHog, no Intercom. The only outbound connections a browser makes are to Supabase and, if you choose it, your own local model. This is unusual and it is deliberate; it is also easy for you to verify from the network tab.

Supply chain — disclosed because you would find it

Our Edge Functions import the Supabase client library at runtime from the public package CDN esm.sh. No customer data is sent to esm.sh — it is code delivery, not data processing, which is why it is not in the sub-processor table. But it is a third party in the execution path of functions that hold privileged keys, and it is a floating major-version reference rather than a pinned build. We are vendoring that dependency to remove the question. Until we do, you know about it.


3. How the product protects people

The Foundry holds the kind of change data that damages people if it leaks early: restructures, redundancy consultation, enterprise agreement negotiation, and what employees said when they were asked how they were coping. The controls below are enforced by PostgreSQL, not by the user interface. That distinction is the whole design: there is no application server in front of the database, so a bypassed client bypasses nothing.

Tenant isolation — row-level security, enabled and forced

Row-level security is enabled on every one of the 102 tables in the schema, and forced on every one of them. Forcing matters: an ordinary RLS policy does not apply to the table's owner, and a table owned by the role your queries run as is a common and quiet gap in Postgres deployments. Forcing closes it.

Policies are default-deny and keyed to the authenticated identity from the JWT. No policy uses USING (true), and no policy accepts a tenant identifier supplied by the client.

Evidence: 0001_init.sql onward — alter table … enable row level security; alter table … force row level security; on each table at the point of creation. Verification scripts in supabase/tests/verify_.sql assert pg_class.relforcerowsecurity and query for cross-tenant rows.*

Privileged functions cannot be hijacked

Roughly 600 SECURITY DEFINER functions carry a pinned schema search path — almost all set search_path = '', requiring fully qualified object names, with four early trigger functions pinning public. A privileged routine therefore cannot be tricked into calling an attacker-planted object of the same name.

The confidentiality wall — a walled change never reaches an uncleared browser

When a change is marked confidential — a restructure before announcement, a redundancy programme — access is decided by a database function, can_see_change, evaluated inside Postgres and referenced across 39 migrations and several hundred call sites.

Why this matters more than it sounds: most products filter restricted records out in the browser or in an API layer, which means the data was sent and then hidden. Here the row is never returned. A colleague who has not been cleared does not receive a filtered view of a restructure; they receive nothing, because nothing left the server. The system-side variant used by background jobs, can_see_change_sys, has EXECUTE revoked from application users entirely.

Evidence: 0024_restricted_changes.sql (definition and grant); redefined for soft-delete in 0038_dr_softdelete.sql; redefined again in 0066_mfa.sql to add the second-factor requirement described under Two-step verification below, with the clearance and tenancy logic carried forward unchanged; can_see_change_sys and its revoke in 0035_audit_actor.sql.

Measurement cannot be worked back to a person

Every published measurement is floored at k ≥ 5. If fewer than five people are behind a figure, the figure is suppressed. Where suppressing one group would let a reader recover it by subtracting the visible groups from the total, a second group is suppressed too — the complementary suppression pass, which exists specifically to defeat the subtraction attack. A per-person series is rejected outright as unreportable.

The floor is a CHECK constraint (min_k >= 5), not a setting. An organisation administrator cannot lower it, including to see their own team. The gate is applied to the weakest reading in a window rather than the sum, specifically so that five monthly readings of one person each cannot be added together to clear it.

What this claim covers, and what it does not. It covers published measurements. It does not cover AI-generated themes over free-text survey answers: that surface counts answers rather than people, so in principle one person answering the same question in five consecutive waves could constitute a themed group. We found this in our own review on 22 August 2026. Nothing is wired to the theming pipeline on the hosted service, so no themed output is published today, and fixing the count before anything is wired to it is a priority action in our register. We are naming it here rather than letting the sentence above be read as covering it.

This is what makes it safe to ask an employee an honest question. If a manager can identify who said what, the answers stop being honest, and the measurement stops being worth anything.

Evidence: 0028_measurements.sqlmin_k integer not null default 5 check (min_k >= 5), suppression logic, per-person series rejection; 0042_measured_readiness.sqlk_floor int not null default 5 check (k_floor >= 5) and suppression_reason in ('below_k','complementary'), with the subtraction attack named in the comments.

Respondent identifiers are hashed with a secret that is not in the database

Where a respondent identifies themselves, the identifier is converted to a one-way code using HMAC-SHA256 with a pepper held in the Edge Function environment, with a domain separator, and a minimum key length. The function fails closed if the pepper is missing — no pepper, no write.

The consequence is the point: a complete copy of our database does not allow the hashes to be recomputed. Someone holding a database dump cannot rebuild the mapping from a person to their answers, because the secret needed to do it is not in the dump. The schema comment on the unsalted deduplication hash explicitly forbids using it as a pseudonym, so that the shortcut is closed for the next developer as well.

Two limits we previously left out, added 22 August 2026 after our own review. First, the sentence above used to say "including us", and that was wrong. A database dump is not the only thing in play: we hold the secret as well, because it lives in the function environment we operate, and we hold the staff list the customer uploaded. Nothing in the product does this and we do not do it — but the honest statement is that a database compromise cannot re-identify a respondent, not that nobody can. Second, the secret is one secret for the whole service rather than one per organisation, so the same person produces the same code in every wave and in every tenant, which makes answers groupable over time. Deriving the code per organisation and per wave is a priority action in our register. Neither limit is visible to your administrators or to anyone reading the database.

Evidence: supabase/functions/submit-token/index.ts (HMAC, RESPONDENT_PEPPER, fail-closed); contract documented in 0029_identity.sql; mandatory on survey writes in 0040_instruments.sql and 0041_frontline_reach.sql.

The audit log is append-only, and users cannot write to it

Application users are granted SELECT and a narrow column-scoped INSERT on the audit log. UPDATE and DELETE are never granted to anyone — append-only by omission of the permission, not by a trigger that could be dropped. The writer function write_audit has EXECUTE revoked from anon, public and authenticated, and granted only to the server role, so a user cannot forge an entry either.

After an incident, this is what lets us tell you precisely what was accessed and by whom.

Evidence: 0001_init.sql (revoke-then-grant on audit_log); 0035_audit_actor.sql (actor capture; write_audit revoke and service-role grant).

Privilege escalation is not forbidden — it is not permitted

Column-level privileges are an allowlist, not a denylist. For each table, all privileges are revoked from application users and then UPDATE is granted on a named list of columns. is_admin, trial fields, blocked, daily_cost_limit and model are simply not on any list.

A user cannot make themselves an administrator, extend their own trial, or raise their own spend limit. Not because a rule says no — because the permission to write those columns was never issued.

Evidence: 0001_init.sql ("Column-level GRANTs — defense in depth against privilege escalation"), 0004_organisations.sql, 0014_grants_reconcile.sql, 0015_surveys.sql, 0032_activity_notify.sql.

Deletion has a date on it

Deleting content moves it to a recoverable trash and writes a tombstone carrying a mandatory purge_after date. The default retention is 30 days, configurable between 7 and 365, and the remaining days are shown to the user at the moment they delete. One live tombstone per subject is enforced by a unique index. The tombstone ledger itself has RLS enabled and forced with all client access revoked.

A privacy-law erasure request is honoured out of band and does not wait for the trash window.

Evidence: 0038_dr_softdelete.sqldeleted_objects ledger, purge_after date not null, retention policy bounds, days-remaining surfaced to the user; user-facing description in app/src/pages/DataRights.tsx.

Other controls worth naming

  • Cross-tenant admin reads are aggregate-only. The single platform-admin overview function returns counts and status, never the content column. An administrator account takeover cannot exfiltrate change content through the API. (0001_init.sql.)
  • AI spend is reserved atomically before the upstream call, so concurrent requests cannot collectively exceed an organisation's cap. (0021_ai_budget_atomic.sql.)
  • Support evidence files are never served from a raw storage URL. The signing function refuses a caller-supplied path, scrubs a denylist of request parameters, and never returns the service key. The bucket is private and is re-asserted private on every deployment. (supabase/functions/support-evidence-url/index.ts; 0063_support_desk.sql.)

Encryption

Traffic between your browser and Supabase is encrypted in transit with TLS. Data at rest is encrypted by the underlying platform (AWS/Supabase, AES-256). We do not operate application-layer encryption or customer-managed keys, and column-level encryption of the most sensitive fields is on our hardening list, not in the product.

Two-step verification (MFA)

Available since 22 August 2026. Migration 0066_mfa.sql is applied to the hosted service, so everything in this section describes a control you can use today rather than one we intend to ship. A 6-digit time-based code (TOTP, RFC 6238) from any authenticator app — Microsoft Authenticator, Google Authenticator, 1Password, Authy and Bitwarden all work, because they all implement the same standard. This is not signing in with a Microsoft work account; that is SAML/OIDC SSO and we do not have it.

Enrolment is offered immediately after you set your password and is permanently available from your profile. You are challenged once per sign-in, not per action and not per day.

What is enforced. Two rules, and no more than two:

1. If you hold a verified authenticator, you must present it. This is per-user and opt-in by construction — you cannot be locked out by a control you did not switch on. Blast radius on the day it was applied was nil: nobody held a factor yet, so nothing changed for anybody until they chose to enrol. 2. Anyone who administers an organisation must hold one. Inviting, removing, changing a role, granting Portfolio Manager clearance, revoking an invitation, resetting someone else's factors and break-glass owner reassignment all require it. Ordinary change-management work does not.

An owner cannot yet require MFA of every member. That is designed and is the next step.

Where rule 1 reaches, precisely. Because this is the sort of thing an assessor derives if we do not say it. Rule 1 is enforced by PostgreSQL in six places, and between them they cover the direct table API, the write surface and the read surface:

  • RESTRICTIVE row-level-security policies on every table the browser can reach directly — 79 of them, computed from the grant catalogue rather than hand-listed;
  • the single predicate every organisation write passes through, so roughly 150 write functions inherit it from one definition;
  • the confidentiality wall itself. Opening a change marked confidential requires the code. That predicate is the one thing about 140 of our read functions ask before they answer — the RAID register, the readiness reading, the cutover runbook, the capability heatmap, the trash — so the requirement reaches all of them without any of them being rewritten. The trashed-item view of the same wall carries the identical rule, so deleting a confidential change is not a way to read it;
  • the membership and administrator tests, which is what closes the reads that are not about one particular change: the organisation roster and its email addresses, the people register, the notification inbox, the audit log, the pending invitations, the saturation and capacity views, and the vendor's own platform console;
  • the Portfolio Manager test. A Portfolio Manager sees every change in the organisation, confidential ones included — the broadest clearance the product has — and that clearance now requires the code as well. This one was added last and it is worth being explicit about why: it appears in our code beside the administrator test, joined by or, and gating only the administrator half would have left the wider half standing;
  • five functions gated individually, because they ask a question none of the five predicates above can answer for them: erasing every stakeholder group in an organisation, listing confidential changes that have lost their owner, reading the cleared team of a change, acknowledging a governance event, and purging groups past their retention window.

What that leaves. Two things, and we would rather name them than imply there is nothing.

By design: the anonymous and pre-enrolment surfaces stay reachable at first-factor strength, because they must. A survey respondent and a share-link holder have no account at all. Someone accepting an invitation, or creating their first organisation, has no factor yet by definition — gate those and an invited user could never join. The sign-in screen's own status read stays answerable too, and so does the report of a rejected code: gating the record of a failure would destroy the evidence of the thing that failed. The session-liveness probe the app polls every 60 seconds is exempt for a sharper reason — the app treats no answer as "carry on", so gating it would quietly switch off the blocked-account and removed-from-org enforcement for exactly the sessions we are trying to constrain, rather than denying them anything.

Not by design, and not proven absent: a read function that asks none of those questions is not reached by any of this. We do not have an automated check that proves the remainder is empty, and we are not going to claim completeness we have not tested. We can say how we have looked, because the method is the only honest measure of the claim: we enumerate the function catalogue rather than the calls our own front end makes, and compute which functions reach a gated predicate transitively. That method is what found the Portfolio Manager gap and the five hand-gated functions above, and it also found one function that had no permission check of any kind and is now unreachable from a browser. A check that reads "does this function mention a gated predicate" is not sufficient and we no longer use one — a function can mention the right predicate and still have a second way in beside it.

What we can state and have tested, by calling the functions rather than by inspecting them: for an account that holds a factor, a stolen password at first-factor strength cannot read a table directly, cannot save anything, cannot administer anything, cannot open a confidential change, cannot open a standard change either, cannot read the organisation's roster, audit log or people register, cannot export the people register with its email addresses, and cannot grant anybody clearance into a confidential change. That last one is tested from a Portfolio Manager's account specifically, because it was the account that could still do it.

A note on scope, because it is wider than "confidential". Requiring the code for the membership test means an enrolled user at first-factor strength cannot open an ordinary change either, not only a confidential one. That is broader than this section's heading implies and we have chosen it deliberately rather than arrived at it: the alternative was a wall that a Portfolio Manager could walk around, and half a wall is not one.

Recovery. There are no printed recovery codes; Supabase does not offer them for TOTP and we have not built our own. Three mechanisms instead, in order of how often they should be needed: enrol a second device (we ask for one during setup — a desktop password manager beside the app on a phone); an administrator clears your factors from the Team page, which is audit-logged with actor, subject and a written reason, is never self-service, and refuses to leave an organisation with no MFA-capable administrator; and an operator break-glass for a sole owner with nobody to reset them, which is a documented offline procedure and a support conversation, not a button. The sign-in screen names that route rather than assuming you will find it: if you are the only administrator, it gives you the support address to write from.

Evidence. Enrolment, confirmation, removal, rejected codes, administrator resets and break-glass resets all land in the same organisation audit log as everything else, readable and exportable by an owner from the Assurance page. A rejected code is reported by the sign-in screen rather than observed by the server — GoTrue leaves nothing behind for a failed attempt — and it is labelled as a client report in the log so that a client assertion is never presented as a server observation.

Testing

40 of our 68 migrations ship a hand-run verification script that asserts forced RLS, checks grants, and queries for cross-tenant rows by impersonating real users. These are real and they are evidence, and you may have them under NDA. Two limits, because a count is only useful with its denominator:

  • The convention starts at migration 0027. The first 26 migrations — the ones that built the core schema, the audit log and the grant model — predate it and have no script of their own. They are exercised indirectly by later scripts that read the same tables, which is weaker than a script written to test them, and we are not going to describe it as equivalent. Two later files (0027b, 0034a) are also uncovered.
  • They are run manually at deploy time. We have no CI, so nothing automatically prevents a future migration from silently weakening the posture described above.

Automating those scripts, and backfilling the missing 28, are the two most valuable engineering items on our list. Neither is done.

Which migrations have actually been applied has, until now, been recorded only in a document and one person's memory. Migration 0065_schema_migrations.sql creates a schema_migrations table so that the database itself holds the record; from 0066 each migration writes its own row in the same transaction as its schema change, so the row cannot exist unless the migration ran. Rows for 00010064 are backfilled on the day the table is created and are labelled as such — they are not backdated, because a manufactured date in the one table whose value is that it is not manufactured would be worse than no record. This migration was applied on 19 August 2026, alongside 0064. The table now holds 68 rows spanning 0001 to 0065, every one of them marked BACKFILLED with a null checksum: the record starts honest about being a reconstruction, and only migrations from 0066 onward will carry a row written in the same transaction as their own schema change.


4. What we do not have yet

ItemStatus todayWhat would change it
SOC 2 (Type I or II)None. Not started.A paid audit engagement. We will publish the auditor and the start date when it is committed — not "SOC 2 ready" beforehand, which means nothing.
ISO 27001None. Not started.Same.
PCI DSSNot filed, and the scope is minimal by design. Card data is handled entirely by Stripe (a PCI DSS Level 1 provider) through a redirect to Stripe-hosted checkout — The Foundry never sees, transmits or stores a card number. That places us in the smallest self-assessment category, SAQ-A. We have not completed and filed a formal SAQ-A.Completing the SAQ-A self-questionnaire. There is no cardholder data inside the product to audit.
HIPAANot offered. The Foundry is built for organisational-change data, not US Protected Health Information (PHI), and we do not sign a Business Associate Agreement (BAA). Do not place PHI in it.A different product scope and a signed BAA — not on the roadmap.
IRAP assessment / Essential EightNone. Required before a Commonwealth deal, not before a commercial one.A government deal that justifies the cost, and the Anthropic egress closed first.
Independent penetration testNot commissioned. An internal seven-specialism adversarial review produced THREAT_MODEL.md. A further internal, AI-assisted assessment was completed on 22 August 2026 over the client, database migrations, RLS/grants, Edge Functions, secrets posture and dependency graph. The application build passed; 755 client assertions and 106 Edge Function assertions passed; migrations 00010067 replayed cleanly; all 45 database verification files were run. Four repository gaps were fixed. Production configuration and the hosted service were not tested by that pass. A further internal assessment on 25 August 2026 exercised the hosted service directly: multi-tenant Row-Level-Security isolation was tested live with two authenticated accounts (blocked on cross-tenant read, update, delete and privilege-escalation; the target tenant's data was unchanged), every Edge Function was confirmed to reject unauthenticated calls, the anon role was confirmed to have zero table access and no SSRF-capable RPC, the HTTP security headers and HTTPS enforcement were verified, and a missing Content-Security-Policy was identified and deployed. No high or critical findings. The report is SECURITY_ASSESSMENT_2026-08-25.md. Both remain internal evidence, not independent attestation.A CREST-accredited test. We will publish the date, tester, scope, material findings and remediation status.
MFA — enrolment and admin enforcementLive. TOTP (RFC 6238) from any authenticator app; enrol from your profile or immediately after setting your password. Anyone who administers an organisation must hold a factor to invite, remove, change a role, grant Portfolio Manager clearance, revoke an invitation or take a break-glass action, and anyone who holds a factor must present it to open a confidential change or read the organisation's roster, people register or audit log. Enforced by PostgreSQL, not by the browser.Migration 0066_mfa.sql, applied to production; verified against a full replay of 00010066 with 106 behavioural assertions.
MFA — org-wide policyNot available. An owner cannot yet require MFA of every member; enforcement today is (a) anyone who holds a factor must present it, and (b) administrators must hold one.An org-level toggle. Designed, not built — it is the next step on the same ladder.
MFA — recovery codesNot available, and Supabase does not ship them for TOTP. Recovery is: enrol a second device (we ask for one during setup), or have an administrator clear your factors from the Team page — which is audit-logged, needs a written reason, and is never self-service. A sole owner with one device and no second administrator needs an operator break-glass, which is a support conversation.A hashed, single-use recovery-code table. Fourth on the list in MFA_DESIGN.md §4, behind the three mechanisms above.
SSO / SAML / SCIMNone.Real engineering work. If your procurement requires SSO, we are not the right supplier this quarter — say so early and we will tell you honestly whether the timeline works.
Continuous integrationNone. No pipeline. Verification scripts are hand-run.Straightforward work; the priority is the forced-RLS and cross-tenant regression gates.
Staging environmentNone. Changes are tested locally and deployed.Planned alongside CI.
Version control historyEstablished 20 August 2026. One commit. Everything before that date is undated.Time. We are not going to pretend otherwise.
Tested backup restoreSupabase manages backups for the Sydney project. We have not performed and documented a restore drill, so we publish no RPO or RTO.One drill and a recorded date. Until then we will not quote a recovery objective.
Uptime SLA / status pageNone. We publish no availability figure because we do not measure one.Measurement first, then a number.
Anthropic DPA / Zero Data RetentionNot executed.Signing it. See §2.
AI processing in AustraliaNot available on the hosted service, by any route.Repointing the proxy at Claude on AWS Bedrock ap-southeast-2. On the roadmap, no committed date. The local-model option keeps drafting on your own machine, but it is a self-hosted / demo configuration only and a hosted customer cannot enable it — see §2.
Vulnerability disclosure channel/.well-known/security.txt is included in the application build and routes security reports directly to Thomas, who leads development and support; this Trust page is the policy. Hosting-path publication still needs to be checked after each deployment.Add an independent intake/triage route if reporting volume outgrows the present technical-support channel.
Cyber insuranceAsk us — we will answer in writing rather than on a web page.

Where this is going — sequence, not dated promises

We publish status, not aspiration, so this is an order of intent rather than a set of dates. In priority: (1) execute the Anthropic DPA and close the AI-egress question; (2) SOC 2 Type I — the attestation most buyers ask for first; (3) ISO 27001, which reuses much of the same control evidence; (4) IRAP / Essential Eight, only where a Commonwealth engagement justifies the cost. We deliberately attach no date to any item here until the engagement is booked and paid — a date we cannot keep is worse than none — and when one is committed it appears in the table above with the auditor named, not as a "ready" badge. If you need a specific standard by a specific quarter, raise it in the sale and we will tell you honestly whether the timeline is real.

We also want to be straight about a document you may be given: THREAT_MODEL.md was written before the current deployment and describes infrastructure (a Cloudflare/Render front end) that is not what we run. We are correcting it. Where it and this page disagree, this page is current.


5. Incident and breach

If we become aware of a breach affecting your data, we will tell you without undue delay and in any case within 72 hours. We will tell you what we know, what we do not yet know, and what we are doing. We will not wait for our assessment to finish before telling you it is happening.

Where the incident may be an eligible data breach under the Notifiable Data Breaches scheme (Part IIIC, Privacy Act 1988 (Cth)):

  • we will carry out a reasonable and expeditious assessment and complete it within the 30 days required by s 26WH, sooner where we can;
  • where there are reasonable grounds to believe an eligible data breach has occurred, we will notify the Commissioner as soon as practicable under s 26WK — there is no 30-day grace period on that step — and notify affected individuals under s 26WL;
  • where you are the entity carrying the notification obligation, we will give you what you need to make it, and we will not notify your people without coordinating with you first.

What we can honestly promise about response. The Foundry has a three-person business team, but incident investigation and technical response are led by Thomas and there is no 24/7 staffed incident-response function. We will not claim one. David and Shirley support customer communication and business relationships; they are not represented as substitute production engineers. What we do have is an append-only audit log with the actor recorded on every entry, which means that after an incident we can tell you what was accessed and by whom rather than guessing.

What we do not have yet: a published incident runbook. It is being written, and we would rather tell you that than let you assume one exists.

To report a suspected vulnerability or incident, email thomas@thetjmethod.com.au with "SECURITY" in the subject line. We will acknowledge within one business day.


6. Your data rights

We handle personal information in accordance with the Australian Privacy Principles. We do not claim to be "fully compliant with the Privacy Act" — compliance is an ongoing obligation, not a certificate.

One thing worth stating plainly, because customers often assume otherwise: the employee-records exemption does not cover us. That exemption applies to an organisation handling records about its own employees. When your workforce data reaches The Foundry, we are handling information about other people's employees, and the APPs apply to our handling of it in full.

We do not make automated decisions about individuals. The AI features draft communications and plans for a practitioner to review and edit. Nothing in the product scores, ranks, or decides anything about a named person.

  • Access and correction — you can ask what we hold and get a copy; you can correct your own profile in the product.
  • Export — change content, plans, stakeholder data, survey results and governance packs export to CSV, XLSX, DOCX and PPTX from within the product. Your work leaves with you.
  • Deletion — deleting inside the product moves content to trash with a published permanent-deletion date, 30 days by default. A privacy-law erasure request is honoured without waiting for that window and is not recoverable.
  • A limit on erasure, stated rather than buried — measurement figures that have already been published at k ≥ 5 are aggregates that cannot be traced to an individual and are not withdrawn when one respondent erases. Respondent hashes are recomputed at the edge from the identifier the person supplies, so we can find and remove their responses without ever holding a reversible identifier.
  • Complaints — tell us first. If you are not satisfied, you can complain to the Office of the Australian Information Commissioner at oaic.gov.au.

The in-product pages are the authoritative detail: Data Rights (/#/data-privacy-rights) and Privacy Policy (/#/privacy-policy).


7. How to ask

Email: thomas@thetjmethod.com.au — this reaches Thomas directly for development, support, privacy and security handling. Shirley supports the business relationship and David supports the commercial process; neither is presented as a substitute technical or privacy-response channel.

If you are sending a security questionnaire, please send:

1. the questionnaire itself — SIG Lite, CAIQ, VSAQ or your own template all work; 2. the deadline; 3. the deal size or user count, so we can tell you honestly whether the gaps in §4 are likely to block it before either of us spends a week on the paperwork.

We answer questionnaires in the vendor's own format and we answer "no" where the answer is no. Expect a response within five business days for a standard instrument.

Documents available on request under NDA: our threat model and remediation plan (with its stale sections flagged), the DPIA input and Record of Processing Activities for the engagement and measurement features, the migration files implementing any control on this page, and the verification scripts.

If you are assessing us for a Commonwealth or state government engagement, tell us at the start. The Anthropic egress described in §2 is the item that has to be closed for that market, and we would rather scope that conversation honestly on day one than discover it at contract.


This page describes The Foundry as at 22 August 2026. If a statement here is wrong, we want to know: thomas@thetjmethod.com.au.