/securityTrust baseline

Security & Privacy

FleetGram is self-hosted infrastructure. Your data lives on your server, under your control. This page documents the data flow, our retention policy, our no-training commitment, the GDPR Article 28 DPA template, and our incident response playbook.

Last updated: 2026-05-23. Owner: security@fleetgram.net.

TL;DR
  • Self-hosted. No FleetGram cloud, no SaaS backend, no analytics pings.
  • No training on your data. Anthropic API and ElevenLabs contractually exclude API traffic from model training. Telegram never receives the LLM context.
  • Retention: 90 days by default. Configurable per topic via /retention (0 = keep forever, N = N days).
  • DPA-ready. Article 28 GDPR template (download) and 72-hour breach notification (Article 33).
  • Incident response playbook with severity tiers, GDPR notification templates, and a post-mortem checklist (download).
01 · Architecture

Data flow diagram

FleetGram runs as a single daemon on your server. Every external call leaves from your machine — there is no FleetGram relay in the middle.

   ┌──────────────────┐    TLS    ┌──────────────────┐
   │  Telegram user   │ ◄──────► │  Telegram Bot API │
   └──────────────────┘           └─────────┬─────────┘
                                            │ webhook / polling
                                            ▼
                              ┌──────────────────────────┐
                              │   FleetGram daemon       │
                              │   (your server)          │
                              │                          │
                              │   ┌──────────────────┐   │
                              │   │ topic-history    │   │  ← plain JSON
                              │   │ topic-memory/    │   │  ← lossless markdown
                              │   │ state.json       │   │  ← settings
                              │   └──────────────────┘   │
                              │                          │
                              └─────┬─────────┬──────────┘
                                    │         │
                          ┌─────────┘         └──────────┐
                          ▼ TLS                          ▼ TLS (optional)
                  ┌────────────────┐             ┌──────────────────┐
                  │  Anthropic API │             │  ElevenLabs API  │
                  │  (Claude LLM)  │             │  or Edge TTS     │
                  └────────────────┘             └──────────────────┘

   No FleetGram cloud. No analytics. No telemetry.

The daemon spawns a worker subprocess per task. The worker uses Anthropic's Claude Code SDK. Voice synthesis is optional and goes to ElevenLabs (paid) or Microsoft Edge TTS (free default) only when the user explicitly asks for a voice reply.

02 · External surface

What leaves your server

ServiceWhat is sentWhyCan be disabled
Telegram Bot APIMessage text, bot replies, user IDsCore routingNo — required transport
Anthropic APIConversation context (bounded by retention) + system promptLLM inferenceYes — swap to GLM or self-hosted model
ElevenLabs APIBot reply text for TTSVoice repliesYes — Edge TTS default, or disable voice
Microsoft Edge TTSBot reply text for TTSVoice replies (free default)Yes — disable voice globally

Nothing else leaves. No analytics, no telemetry, no usage reporting back to FleetGram. If you grep the source for fetch(, every call goes to one of the four endpoints above.

03 · Storage

Where data is stored

Every persistent artifact lives on your server under ~/.claude/PAI/PULSE/:

PathContentsSensitive?
data/topic-history.jsonPer-topic conversation historyHigh
data/topic-memory/<topic>.mdExtracted long-term memory per topicHigh
data/topic-bindings.jsonTopic → folder mappingModerate
state/state.jsonSettings, retention config, tier infoLow
logs/Operational logs (no message content)Low

We recommend chmod 600 on ~/.claude/.env and ~/.claude/PAI/PULSE/data/, plus full-disk encryption for compliance.

04 · Retention

Retention policy

Default conversation retention is 90 days. Messages older than the window are permanently deleted by a daily sweep that runs at startup and every 24 hours. Pruned messages and their compacted summaries are removed atomically from disk.

/retention # show current retention for this topic
/retention 30 # 30-day retention for this topic
/retention 0 # disable auto-pruning, keep forever
/retention reset # revert this topic to the global default
/retention global 90 # change the global default

Per-topic retention is useful when you want a tighter window on sensitive topics (e.g. legal at 14 days) and a longer one on knowledge base topics (e.g. research at 365 days).

On-demand wipe: /clear inside a topic deletes the entire history for that topic immediately.

05 · No training

No training on your data

FleetGram conversations are not used to train AI models.

This applies to the FleetGram codebase, our sub-processors, and any telemetry we collect (there is none).

How the no-training guarantee holds end-to-end:

  • FleetGram itself is open-source software you run on your own server. We have no remote access to your conversation data and no backend that could ingest it.
  • Anthropic (Claude API) contractually excludes API traffic from model training by default. See Anthropic privacy policy and their commercial terms.
  • ElevenLabs Enterprise/paid plans contractually exclude your text from model training. See ElevenLabs privacy policy.
  • Microsoft Edge TTS (default voice path) and Telegram Bot API are routed through but never see the LLM context.

To further minimize exposure: keep retention short on sensitive topics, use /clear after one-off confidential conversations, and route through GLM (open-weights via z.ai) or a self-hosted model if you must remove Anthropic entirely.

06 · Encryption

Encryption

  • In transit: TLS 1.2+ on every external call (Telegram, Anthropic, ElevenLabs, Edge TTS).
  • At rest: conversation history is plain JSON on disk — we recommend disk-level or filesystem-level encryption (LUKS, FileVault, dm-crypt) for compliance environments. Premium tier offers application-level envelope encryption on request.
  • Secrets: bot tokens and API keys live in ~/.claude/.env. Set chmod 600 and rotate quarterly.
07 · Access control

Authentication & access

  • The bot answers only messages from the registered Telegram supergroup. Messages from any other chat are ignored.
  • No web login. Telegram is the only control plane. There is no admin dashboard exposed to the public internet.
  • Tier-based feature gates run in-process — no external authorization service to compromise.
  • SSO/SAML available on Premium tier on request, integrated against your IdP.
08 · GDPR

GDPR & DPA

FleetGram is infrastructure software you operate. In a team or organizational deployment:

  • You act as data controller under Article 4(7) GDPR.
  • FleetGram (the software) acts as your data processor.
  • Anthropic, ElevenLabs, Telegram, Microsoft are sub-processors. Maintain DPAs with each.

We provide a fillable DPA template aligned with Article 28 GDPR. It covers nature of processing, retention, technical and organizational measures (Article 32), sub-processor list with cross-border transfer mechanisms, breach notification (Article 33), and audit rights.

Data subject rights (GDPR Chapter III): erasure via /clear, access/portability via JSON export of topic-history.json, restriction via /retention 0.

09 · Breach response

Incident response

Our playbook follows GDPR Article 33–34 timelines and ISO 27001 A.16 procedures. It defines four severity tiers (P1 critical → P4 low), each with response-time SLAs, and contains template notifications for supervisory authorities and data subjects.

SeverityExampleResponse time
P1 CriticalActive data exfiltration, bot token leaked, history exposed< 1 hour
P2 HighUnauthorized access suspected, anomalous API usage< 4 hours
P3 MediumMisconfiguration, no confirmed exposure< 24 hours
P4 LowHardening needed, no active risk< 7 days

Breach notification timeline: supervisory authority within 72 hours (Article 33), data subjects “without undue delay” when high risk is likely (Article 34).

10 · Disclosure

Vulnerability disclosure

Report security issues to security@fleetgram.net or open a GitHub issue with the security label.

  • Acknowledgment within 48 hours.
  • Patch within 7 days for critical issues.
  • Coordinated disclosure preferred — we credit researchers in the changelog unless requested otherwise.

PGP key available on request. No bug bounty at this stage, but we are happy to provide a public acknowledgment and a written confirmation for your portfolio.

11 · Downloads

Downloads

Security questions before you sign?

Book a 30-min security review. We'll walk your team through the data flow, answer DPA / SCC questions, and pre-fill the template against your controller details.