Case study · Board advisory · Australia
The knowledge assistant that never leaves their account.
CHAIRS Global collects frank advice and conversation from company chairs and board directors around the world. That collection is not marketing for the business. It is the business. We built AskCHAIRS, the assistant that answers their members in plain words, running from start to finish inside an AWS account CHAIRS Global owns.
- Client
- CHAIRS Global
- Sector
- Board advisory
- Status
- Live and in use
- What we built
- AskCHAIRS, an assistant for members
Change the industry. The problem is the same.
- Professional bodies
- Research institutes
- Law firms
- Industry associations
- Private banks
If the knowledge is the product, then an assistant that has to read it somewhere else is a copy of your business sitting on a disk you do not own.
The knowledge existed. Reaching it was the work.
Before
4steps
Years of their own writing, expert interviews and conversations with members. Some of it on a hard drive, some of it inside the member site. To use any of it, you first have to know it is there.
- 1Know the piece exists
- 2Work out where it is kept
- 3Open the document
- 4Read until you reach the part you wanted
A director with a question late on a Sunday reaches none of it.
After
2steps
You ask on the member site, in your own words, and read the answer where you are standing.
- 1Ask in plain words
- 2Read the answer, and its sources
- Work out where it is kept
- Open the document
- Read until you reach the part you wanted
And the answer names the documents it used, so you can go and read them yourself.
Before the build
How this started.
CHAIRS Global did not come to us with a failed project. They came with a working option they had decided not to take.
There was already a way to do it
A deal was in place for someone else to build this for them, using their own material. It would have worked, and it would have been faster than starting again.
Their material would have sat outside
Under that deal, their material had to be readable by computers CHAIRS Global did not own or control. When the collection is the business, that is not a small detail. It is the whole question.
They chose control over speed
They walked away rather than let a copy of their own work sit somewhere they could not see it, check it, or take it back.
Then they asked for the version they own
The same thing, built inside their own AWS account, with all the code handed over to them at the end.
The two things they asked for
- Our material never leaves computers we control.
- Members should never be able to tell it was not built by us.
The second one is not vanity. A director asking a frank question needs to feel they are asking their own organisation, not a supplier they have never heard of.
This never started as a cost problem. It started as a question about who holds the keys.
Why the bar was set where it was
What was at stake.
The people who use AskCHAIRS chair and sit on the boards of large companies. What they ask about is rarely small, and often not yet public. What they are asking is not brochure material either. It is the thing CHAIRS Global sells, gathered over years, and impossible to put back together if it ever got loose. Losing control of either the questions or the collection would be very hard to undo. So the bar was set in writing, before a line of code was written.
Every part of it had to be:
Kept in their account
Every part of it runs inside an AWS account CHAIRS Global owns, the model included. There is no second copy anywhere else.
Clear about its sources
Every answer names the documents behind it, so a member can go and read them.
Private to each member
Your conversations are yours. No member can see what another member has asked.
Honest when it does not know
Asked something the collection does not answer, it says so instead of filling the gap.
Questions first, then the build
How we worked.
- 01Three rounds
Before any code
CHAIRS Global sent a long list of questions. What finished would look like. What it does when it has no answer. How it is built, how it is kept safe, what it costs to run, and what happens if they ever want to walk away. We answered every one in writing, three rounds of it, and those answers went into the contract.
- 02Weeks 1 to 2
Set up in their account
We set the search system up inside their own AWS account, split their material into four separate collections, and loaded the first documents so the assistant could read them.
- 03Weeks 1 to 5
Built the assistant on top
The chat window members use, and the control panel their team runs it from. The rules it follows, the questions it opens with, how it shows its sources, saved history and which model answers are all settings on that panel, not code.
- 04Weeks 3 to 6, then live
Put into their member site
A small add-on drops the assistant into their existing member site, behind the login members already use. Testing, sign off by their team, then live.
What the questions changed
Three things moved from later to now.
Their review came back asking for three things. Saved history for each member, more types of document, and control over when the assistant may look beyond their own material. All three sat in our plan for a later stage. They said those were needed from day one, which was the right call, so they moved into the first stage and we put more engineers on it to keep the date.
A client who reads a plan this closely is doing you a favour. Every one of those questions was cheaper to answer in a document than to find out halfway through the build.
The hard part
Everything could sit inside their account, except the thinking.
Where the documents are kept, how they are searched, the record of every conversation. All of that can go inside an AWS account you control. Working out the answer cannot, not on its own, because that means handing the question, and the pieces of their material that go with it, to an AI model. That handover is the one place the promise could quietly break.
The gap
The one step nobody puts on the diagram
An assistant can promise your material stays put and still send the question, private passages and all, to a model running on someone else's computers. Nothing in the picture shows it happening. It is the easiest promise on a page like this to make, and the easiest one to break.
What we did
We ran the model in the same account
The model itself runs on AWS Bedrock inside CHAIRS Global's own AWS account, so the question never leaves the same walls as everything else. Claude Sonnet 4.6 answers today. Which model answers is a setting on the control panel rather than something built into the system, so moving to a newer one changes nothing about any of this.
Promise the collection never leaves, then send it to someone else's computer to get an answer, and you have not protected anything. You have only moved the place it can leak from.
Live today
What it does now.
Answers from their own material
Their own writing, conversations with members, expert interviews and outside material, kept as four separate collections rather than one big pile.
You choose what it reads
A member can point it at some collections and not others. Interviews only, writing and interviews, or any mix they want.
Shows where answers come from
Every answer names the documents behind it. On the rare occasion it looks beyond their own material, it says so and marks that part as outside.
Remembers you, privately
Your conversations are saved for when you come back, and no other member can see them. It follows the thread of a conversation instead of treating every question as the first.
Changed by settings, not code
Tone, rules, opening questions, who has access and which Bedrock model answers are all set from a control panel, by someone who does not write code.
Every conversation can be read back
Their team can open any past conversation in full, see what it cost to run, and see what members are actually asking about.
It wears their name, not ours.
The whole thing carries CHAIRS Global's own name and look. Nothing a member sees says Avesta Labs, which was the second of the two things they asked for.
Where each piece actually runs.
One wall, and everything that touches their material sits inside it, the model included.
Outside
Members, on the site they already use
A small add-on puts the assistant inside their existing member site, and only shows it to someone already logged in. None of their material travels with the page.
Inside CHAIRS Global's own AWS account
Their document library
- Every document read in and prepared
- Four collections, kept separate
- The search index, owned by CHAIRS Global
The assistant
- The link from the assistant to each collection
- The chat window members use
- The control panel their team uses
The model
- The model runs on AWS Bedrock, in the same account
- Claude Sonnet 4.6 answers today
- Changing model is a setting, not a rebuild
Scope
What we left out on purpose.
Four things were asked about and did not go into the first stage. None of them were dropped quietly.
- Spreadsheets
- A spreadsheet is a table of figures, and finding something in a table means looking it up, not searching for meaning. Adding them would have looked like more coverage and behaved like more noise. So they stayed out, and we said why.
- Mandarin
- Wanted, and deliberately not rushed. General models are noticeably weaker at Mandarin than models built for the language, so this is a piece of research with its own testing, not a box to tick on this build.
- Members uploading their own files
- Letting a member drop their own file into a chat is a different privacy problem to a shared collection. It waits until the private space around it is designed properly.
- Live search across their website
- They looked at it and said the benefit was not clear yet at the number of questions they get. So it stayed out. Their call, and the right one.
The build already leaves room for all four, so none of them needs the system pulled apart to add later. That is a very different thing to shipping half of each of them now.
Six months from now
Most AI projects leave you depending on whoever built them.
This one was written to end the other way around. It runs in an AWS account CHAIRS Global already owns, and the day to day of running it happens on a web page rather than in a support ticket.
What their team changes without us
- 1Add documents, and sort them into collections
- 2Rewrite the assistant's instructions and its rules
- 3Move to a newer Bedrock model when one arrives
- 4Decide who has access
- Without asking us
None of that needs code, and none of it needs a price from us. Which matters, because the alternative is an assistant that quietly goes stale while everyone waits for someone else to find the time.
The part most suppliers leave out
The code, the files that build the whole set-up, the release process and the written instructions for running it all pass to CHAIRS Global after it goes live. If they never speak to us again, it keeps working. That was agreed at the start, not given away at the end.
Start with the collection you would never put on someone else's server.
A short workshop, then a trial on your own material inside your own environment. You finish with a working assistant, the checks that keep it honest, and a clear view of whether to take it further.
Book an AI KickoffOr email hello@avestalabs.ai