Skip to main content

On how Go Vocal uses AI

Written by Ken Van Mechelen

How Go Vocal uses AI

Participation only works if people trust it. When a resident takes the time to share an idea, answer a survey, or weigh in on a plan, they are extending a piece of trust — to their government, and to the tools that government uses to listen.

Because of that, our work is led by the belief that we must build systems that the constituents our governments serve and consult with trust. This shapes every decision we make about the role AI plays within our software: what we use it for, whose models we rely on, what data they see, and where the line sits between what the machine does and what a person decides.

This page explains how AI works inside the Go Vocal platform today. It is a living document and we will continue updating as needed.

The principles behind our choices

Five commitments guide how we've built AI into the platform:

  • Humans stay in charge: AI assists analysis; it never makes the decision. Our interface is built from the ground up to keep a person in the loop, in control, and able to check the machine's work.

  • Transparency over black boxes: You should be able to see what a summary is based on, which inputs fed an analysis, and which providers process your data.

  • Data residency you can reason about: We process data in the region closest to you wherever the technology allows.

  • Your residents' words are not training data: Our AI providers do not use the data we send them to train or improve their models. They have committed to this explicitly in the contracts we hold with them.

  • We are not married to any single model: We benchmark models continuously and can switch when something better, safer, or more open becomes viable.

Where we use AI on the platform

AI powers a specific set of features. The model behind each one is chosen for the job, so the providers differ from feature to feature:

  • AI Analysis — summarization, "Ask a question," and some auto-tagging (fully automated tagging, tagging by example or by label, language detection, and sentiment).

  • FormSync — scanning uploaded documents, interpreting their structure, and improving the accuracy of transcribed text.

  • Inappropriate content detection — flagging content that may violate platform norms.

  • Similarity detection for ideas — surfacing related or near-duplicate contributions.

  • Auto input tagging — in Perspectives and the Idea Feed.

Which models and providers sit behind these features

We rely on two infrastructure providers, each hosting best-in-class models from third parties.

AWS Bedrock hosts and processes several third-party models exclusively on Amazon's infrastructure. These models are not built by Amazon; they are made available through partnerships and run inside Bedrock.

  • Anthropic Claude — inappropriate content detection (Claude 3 Haiku), plus FormSync and Idea Feed input tagging (Claude Haiku 4.5, Sonnet 4.6, and Opus 4.6).

  • Cohere Embed multilingual v3 — similarity detection between ideas.

Microsoft Azure OpenAI powers our advanced summarization, question answering, and some AI analysis auto-tagging. Microsoft has a partnership with OpenAI that lets it host OpenAI's models inside Microsoft's own Azure environment. This matters: the deployment is fully decoupled from OpenAI's consumer services — it does not touch ChatGPT or the public OpenAI API.

  • GPT-5.4 — our primary model for summarization, complex reasoning, and high-quality outputs.

  • GPT-4o-mini — an alternative where regional availability or cost efficiency calls for it.

Microsoft only accesses the data passed to the API for the purpose of abuse monitoring against its code of conduct — not to train models, and not for any other use.

(Model versions above reflect what's in production today and will change as the field advances.)

What data we send them — and what we don't

Our AI providers only ever receive the textual content a resident wrote in a contribution — an idea or a survey response. This happens when an admin or project manager opens a survey results page, or actively chooses to start an AI analysis on an ideation project.

We do not send information stored in a user's profile — no email, username, picture, or demographic data. Structurally, we are not sending personal identifiable information (PII) to these providers. A resident may sometimes write PII inside their own contribution text, and that text is what gets analyzed. For comment summaries, we pseudonymize all @-mentions before the text is processed.

Where your data is processed

Microsoft and AWS both let us specify the processing region, and we route each customer to the region most local to them. Today our Azure OpenAI features use two regions — Europe (Sweden) and US East — while AWS Bedrock runs in a wider set of regional deployments.

Cluster

AWS Bedrock — Claude & Cohere

Azure OpenAI — GPT

Paris

eu-west-3

Sweden Central

Frankfurt

eu-central-1

Sweden Central

Stockholm

eu-west-3

Sweden Central

UK

eu-west-2

Sweden Central

South America

sa-east-1

US East 2

US West

us-west-2

US East 2

Australia

ap-southeast-2

Sweden Central

We continue to monitor regional availability of top-tier models, since the newest models aren't always available in every region at once. That occasionally requires us to adjust our model selection to balance data residency against performance.

Do our providers train on your data?

No. Both subprocessors explicitly state that they do not use the data we send them to train or improve their models. For Azure OpenAI, the only access Microsoft has to that data is for abuse monitoring against its code of conduct.

All providers process data according to strict privacy terms: data is processed in the region we configure, nothing is retained beyond what's needed to provide the service, processing is limited to the requested purpose, and our agreements are held to GDPR and CCPA standards. Whenever we add or change a subprocessor, we honor our data processing agreements and communicate the change.

Why commercial models, and not open source?

Performance: For the work we do, accuracy and reliability are non-negotiable, and commercial frontier models still lead on both. We've tested the alternatives extensively — OpenAI's GPT models, Llama, Google's Gemini, Mistral, and others — using Promptfoo as our benchmarking framework, across multiple real-world datasets. The best open models still trail the state of the art on our scoring.

Cost and hosting: The strongest open models are very large and expensive to self-host, which pushes you toward smaller, less-established third-party hosting vendors — the opposite of the reliability we're after — rather than the usage-based pricing the frontier commercial models offer.

"Open" is often only partly open: Many models labeled open source are released under an open license and, at best, a whitepaper — but very few of the well-performing ones are transparent about their training data. That corpus, and the fine-tuning and safety data behind it, is arguably the most important thing for understanding how a model actually behaves. Mistral, for instance, open-sources only its smaller models, and only the end result; its best models are closed too.

We follow this space closely and we are not locked into any vendor. The day an open model is good enough for this work, we'll be glad to switch. If a prospect or customer wants to discuss an open source or alternative model for their deployment, that's a conversation we welcome — reach out to your Go Vocal contact and we'll walk through what's possible.

How we test models for accuracy and bias

We don't train our own models, so our influence on core model behavior is limited — there are only a handful of frontier models in the world. What we can control rigorously is how we use them, and we test that thoroughly.

For summarization specifically, we built 11 datasets drawn from real survey and ideation projects run by our customers, using anonymized resident data, spanning several languages (English, Dutch, French, Spanish, Danish, German). We then iterated our summarization prompt across multiple LLMs and scored every output against concrete checks like the below:

  • Does the summary reference the actual inputs it claims to summarize?

  • Does it avoid hallucinated references?

  • Is it written in the original language of the contributions?

We ran nine versions of the prompt. The best-scoring combination is what ships in the product. Alongside these "hard" evaluations, we've spent many hours in qualitative review — reading outputs and tuning prompts in ways that are harder to quantify but matter just as much.

We're clear-eyed about the limits of the technology. That's why the product is built around human judgment and always having the expert in the loop.

Human-in-the-loop: keeping people in control

"Human-in-the-loop" means that while we lean on advanced models for analysis, people remain the decision-makers and the validators. Concretely:

  • AI is an assistant that extends human capability — it doesn't replace human judgment.

  • The platform assumes AI has limits in grasping context, nuance, and local knowledge, and is designed around that assumption.

  • Admins choose which insights to accept, modify, or reject.

  • The system is transparent about how it generates summaries and analyses.

You can see this directly in the interface:

  • Inline references — speech-bubble icons show exactly which inputs a summary is based on, so you can always trace a claim back to its source.

  • Inputs always in sight — every resident contribution stays visible and takes up real space in the UI, so you're never analyzing in the abstract.

  • Visible selection indicators — the UI shows which inputs are feeding each analysis.

  • Filtering — you can focus the AI on specific subsets of the data by tag, sentiment, or other criteria.

The technology is at its best when it's paired with the expertise of the people running the project.

Did this answer your question?