AI & Privacy
Exactly what leaves your server when AI is enabled — and what never does.
Astervis runs entirely on your own server. Your call records, your recordings, and your database never leave it. The one and only exception is the AI tier: when you enable it, the audio or text of a call is sent to Google Gemini on Vertex AI to be analysed, and the result comes straight back to you. That single inference call is the complete extent of what goes out — and even that only happens if you turn AI on.
This page is deliberately specific. If you're evaluating Astervis for a bank, a clinic, or anywhere with strict data rules, you should be able to point at exactly which bytes cross the boundary and which never do.
The one-line version
Stays on your server, always: the database, every CDR, every call recording, every transcript, every embedding, every dashboard, and all of your users and settings. None of this is ever sent anywhere.
Leaves your server, only when AI is enabled: the audio (or text) of a call, sent to Google Gemini on Vertex AI for one analysis request. The structured result returns over a webhook and is stored locally. Nothing else is transmitted.
Why this is the honest answer
The whole product is on-premise. The installer deploys it with Docker Compose on
your PBX server, and the moment of ingestion is local: Astervis reads the
Asterisk MySQL binlog through litcdc, streams
every Call Detail Record into a local TimescaleDB store, and mounts your recordings
read-only from /var/spool/asterisk/monitor. Your analytics — call volume, missed
calls, operator performance, wait times, trunk load — are all computed on data
that has never moved off the machine.
The single outbound path is the AI analysis call. When a recorded call lands and
AI is enabled, the on-prem queue submits the recording to the AI gateway, which
performs one multimodal Gemini call on Google Vertex AI that does
transcription, diarization, and analysis together. The gateway returns a
structured result and the queue writes it into your ai_transcripts table. That's
the boundary. There is no analytics telemetry, no "phone home", and no background
sync of your data to Astervis or anyone else.
How AI analysis works
The pipeline, end to end, from a finished call to a written result.
Transcription & analysis
Exactly what the model returns per call.
What is never done with your data
A few things worth stating plainly, because security reviews always ask:
- Your data is not used to train any model. The audio sent for analysis is used to produce your result and nothing more.
- Nothing is shared beyond the inference call. There is no aggregation, resale, profiling, or secondary use of your calls. The request goes to Vertex AI, the answer comes back, and that's the end of it.
- No data is sent for calls you don't analyse. Analysis only runs on calls that have a recording, and only while AI is enabled. A call with no recording never produces an outbound request.
- Your database is never exposed. Only port
8443(nginx) is reachable from outside; every other service binds to127.0.0.1. The AI gateway is something your server reaches out to — it has no inbound access to your database.
Running fully offline (no AI at all)
If your policy is that no call content may leave the building, you don't lose the product — you lose only the AI layer. The analytics platform works completely without AI. Dashboards, CDR replication, Excel export, the phone blacklist, CRM integrations, work schedules — all of it runs on local data with no outbound inference.
To run this way, simply don't enable the AI tier. With no AI license active, the queue never submits a recording anywhere, and nothing about call content is transmitted.
Choosing not to enable AI is a supported, first-class way to run Astervis — not a degraded mode. Every plan is on-premise; the AI tier is an optional add-on on top of an analytics product that is fully useful on its own.
How AI is gated
AI is never on by accident. It's controlled by a separate AI license tier, enforced by the gateway on every request. Three things have to line up before a single call is analysed:
An AI license tier is active
Without an active AI tier, no analysis jobs are submitted. The analytics product keeps working; the AI pipeline simply stays idle.
The request is within your rate limit and quota
Each tier carries a requests-per-minute limit and a monthly token quota. Jobs that hit the rate limit back off and retry on their own rather than failing or burning their attempt count.
The feature flag allows it
Capabilities like rubric QA scoring are gated by their own flag
(qa_scoring) on the license. If the flag is off, that capability doesn't run
even when transcription does.
Practically, that means turning AI on or off, dialing usage up or down, and enabling or disabling specific features is a licensing decision — there's a clear, auditable control over exactly how much (if any) call content is ever sent out.
What is stored locally after analysis
Everything the AI produces comes back home and lives in your TimescaleDB database, right next to the rest of your data:
- Transcripts — the full text of each analysed call, plus diarized turns
(agent / customer, per-turn text, timing, and language), the summary, sentiment,
category, topics, key quotes, QA score, and recommended next actions. All in
ai_transcriptsand its related tables. - Embeddings — after diarization, transcripts are embedded with
gemini-embedding-001(1536-dimensional vectors) and stored in pgvector, inside the same PostgreSQL database. These power semantic search and the AI assistant. Generating an embedding is itself a Vertex AI call; the resulting vectors are stored only on your server.
Because these results are local, you keep full control of retention and deletion. There's no external copy to chase down — if you remove a transcript or an embedding from your database, it's gone.
Common questions
In short
Astervis is on-premise: your calls, recordings, and database stay on your server. The single thing that ever leaves is the audio or text of a call sent to Google Gemini on Vertex AI for analysis — and only when you choose to enable the AI tier. Turn AI off and the product runs fully offline.
Last updated on