gc Goodcomms
Status: onboarding by hand

The promise

The claim, and the code behind it

Every AI support tool says there is a human in the loop. Almost all of them mean a bot answers first and a person cleans up.

Ours is the other order. This page is the part you can check.

What we claim

No bot ever replies to your customers. There is no send-as-is button. A person reads and edits every reply that leaves.

What we don't claim

We will not tell you every word is human-written. Change two sentences of a draft and most of the rest came from a model. Pretending otherwise is the overclaiming we are reacting against.

What we guarantee: a person read it, could have thrown it away, and chose to send it.

How it's enforced

Four places, not one

A promise that lives in a settings toggle ends the first time someone is in a hurry. This one is load bearing in four places. Removing it breaks the build.

  1. 01

    In the database

    outbound_messages_have_a_human_author. A reply cannot exist without a named person. Survives a deleted validation and a raw SQL backdoor.

  2. 02

    In the model

    Sending needs a live signed-in session. Background jobs have none, and every line of AI code runs in one.

  3. 03

    In the type system, such as it is

    A message is from a contact, an agent, or the system. There is no fourth value. Adding one is a migration and a code review.

  4. 04

    In the test suite

    test/architecture/ai_boundary_test.rb fails the build if any file in the AI namespace mentions a message or a mailer. Removing the guarantee is possible. Doing it quietly is not.

We will link these files when the source is public. Until then, ask and we will walk you through them.

The other half

What the AI is for

Not answering. Answering was never the expensive part.

The expensive part is 4pm on a Friday, reading a forty-message thread for the second time, hunting for what someone wrote in March, explaining the same edge case for the fourth time today. That is what burns people out. That is the job we gave the machine.

So it reads the thread. Finds the answer you already gave. Drafts in your voice. Then stops at the one call it should not make.

Your customer gets a person's answer, from a person who had time to think about it.

Turn it off and nothing breaks

With the AI off, this is still a complete helpdesk. No greyed-out buttons nagging you to upgrade. The buttons are just not there.

What we send, and where

Your data, plainly

Prompts go to Anthropic and train nothing. Your conversations are visible only to your workspace. Keys and tokens are scrubbed before anything leaves our server.

Everything we send is assembled in one file, on purpose. "What exactly goes out?" is a thing you can read, not a paragraph you have to trust.

Your customers get a person. Your people get their afternoon back.