Transparent. Technical. Verifiable.
Our tools often process sensitive engineering data. We have written down precisely where that data lives, how long it stays, and what we do technically to keep it from reaching the wrong hands. This page provides transparency information about processing, aligned with GDPR and the EU AI Act — it does not replace the formal privacy notice but complements it with the technical data-flow context.
Updated: 20 May 2026
Our own server infrastructure in Germany
Our own server infrastructure (landing site, mcsa, riskforge chatbot) runs on a Hetzner Cloud server in the Gunzenhausen data centre in Bavaria — German jurisdiction, no hyperscaler. Individual sub-processors (e.g. Anthropic for the chatbot, Resend for mail delivery) are located in the USA and are disclosed transparently in the per-tool blocks below.
Technical details on the infrastructure
- Hetzner Online GmbH, Gunzenhausen data centre (DE).
- MCSA runs as its own Docker-Compose stack with its own network (`mcsa-web_default`).
- Dedicated Postgres instance per tool. No shared volumes, no shared secrets.
- Nginx reverse proxy terminates TLS per subdomain (Let's Encrypt, auto-renewed).
- Containers bind to 127.0.0.1 only — internet-reachable exclusively via Nginx.
What happens to your data — per tool
Each tool has its own data flows. We describe them individually because generalised statements quickly become inaccurate here.
MCSA — Minimal Cut-Set Analyzer
LiveMCSA takes FtaDSL text files (up to 10 MB) and computes fault trees and minimal cut-sets from them. The entire processing path runs in the server's RAM — at no point is your input persisted to disk.
- 1. Your browser posts the upload over HTTPS to `mcsa.appliedfusa.de`.
- 2. Nginx buffers the request in RAM (12 MB buffer, no disk spill).
- 3. FastAPI writes the file into a temporary directory — which lives in a container tmpfs (RAM disk, 512 MB).
- 4. The native C++17 binary `mcsa` parses and analyses the architecture.
- 5. The result ZIP is built in-memory and streamed directly to your browser.
- 6. The temp directory lives on tmpfs (RAM). After response completion, a `finally` block actively cleans it up in the regular case; on a hard container abort (e.g. OOM kill) the kernel discards the tmpfs contents at container end anyway — no disk spill possible.
- Persistence
- None. The audit database stores only metadata: your login email, the client IP, and a timestamp. Neither filenames nor contents nor analysis results ever leave RAM for disk.
- Retention
- IP + timestamp are automatically deleted from the database after at most 7 days (hourly cleanup job). The same window applies to expired magic-link tokens.
- AI use
- None. All computations run in the native C++ binary on our server. No external models, no LLM APIs, no third-party analysis.
Safety-Case Generator
Beta — client-sideA structured interview walks you through the core ISO 26262 requirements. The current Beta runs entirely in your browser — your input never leaves your device. The Markdown export is delivered directly as a file download. Interview is currently in German.
- Today (Beta)
- Vanilla HTML/CSS/JS wizard in the browser. No server requests, no storage, no cookies, no analytics. Closing the tab discards all state.
- Data flow today
- Your input stays in browser memory (RAM). The Markdown report is assembled client-side and downloaded as a Blob — it never reaches us.
- AI use today
- None. The Markdown structure is assembled deterministically from your input.
- Planned (full version)
- Native binary on our VPS, architecturally on the same pattern as MCSA. Persistable projects, multilingual exports, integration of MCSA analysis outputs (cut-sets, KPIs) as evidence references.
- Structure (full version)
- Follows Goal Structuring Notation (GSN). Template library per standard (ISO 26262, IEC 61508, IEC 62304).
- Optional later
- An optional text-polishing feature (e.g. style smoothing) could, in a later version, use an LLM service. If so, strictly opt-in per request — and never for safety-relevant argumentation.
fmea — Tool support for FMEA
Beta in preparationfmea is tool support for FMEA creation: from an architecture model with failure-mode annotations, the FMEA table is derived mechanically. The data-flow profile closely matches MCSA (same stack defaults, same VPS, same tmpfs logic), with fmea-specific additions.
- What gets uploaded
- Model files — textual system architecture (functions, inputs/outputs, connections) plus failure-mode annotations per port and per function (OIM and IOM mappings). No binary data, no model attachments in v0.1/v0.2.
- During the run
- Upload and intermediate artifacts on tmpfs inside the container (RAM, max 512 MiB), not persistent.
- After the run
- Finally-cleanup per request — all temporary files are deleted as the response completes.
- Persistent in Postgres
- Metadata only — user-account data (email, plan status), auth tokens, upload log (timestamp, file hash, user identifier). The content of the uploaded file is not persisted.
- Model content
- Not stored. Uploading the same file twice yields two fresh, independent processing runs.
- Sub-processors
- Hetzner Online GmbH (Falkenstein, DE) for VPS hosting · Resend (USA, DPA) for magic-link mail delivery, active from v0.2 onwards · Let's Encrypt / ISRG for TLS certificates.
- Planned (v0.3+)
- If Simulink models are ever supported directly, the extraction will run locally on the user's machine — the server only ever sees the resulting model file, not the original model.
- AI use
- None. The substance is deterministic, no LLM/AI sub-processors.
csa26 — MISRA-C:2012 pre-audit check
Live · v1.0.1csa26 is distributed as a GitHub Action and runs on your repository's own CI runner. Your source code never leaves your repository — the analysis happens in a container that GitHub launches in your account on every push. Applied FuSa has no access to your code, no telemetry on your findings, no logs of your builds.
- Stack self-contained
- Fully self-contained. csa26 wraps no third-party static analyser. The lexer, preprocessor, parser, symbol/type system and rule engine are Apache-2.0 IP of Applied FuSa and fully traceable in the public repository.
- Sub-processors
- GitHub (Microsoft) — provides the CI runner and container registry hosting for the csa26 action image. Data processing under the terms of your GitHub contract. No further sub-processors.
- Data storage
- Applied FuSa stores no data about csa26 runs. All data generated (findings, SARIF reports, annotations) stays entirely in your GitHub repository under your control.
- Pre-audit notice
- csa26 is a pre-audit tool and does not replace formal compliance assessment against MISRA-C:2012. It points out possible rule violations; formal compliance certification remains the responsibility of your safety manager.
- Rule subset
- csa26 v1 covers a deliberately curated subset of 20 FuSa-prioritised MISRA-C:2012 rules (see README in the repository). Full MISRA-compliance verification was never claimed and is out of reach for any tool of this class.
- AI use
- None. Lexer, parser and rule engine work deterministically.
riskforge chatbot — guided DSL interview
LiveThe riskforge chatbot is the first platform pillar that uses an LLM. A Claude Sonnet 4.6 model runs a structured interview that builds up an FtaDSL file step by step (raw architecture → +OIM/TLE → +IOM/S/O/D). Important separation: the LLM is the interview leader and notation translator — the actual FTA/FMEA analysis substance is then computed by the deterministic engines mcsa and fmea. This separation is an architecture decision for audit-fitness.
- Sent to Anthropic
- Full system prompt (~1500 tokens of methodology context, FtaDSL syntax reference, phase workflow); the complete running conversation history (all user and bot messages); the current DSL state as a code block in bot answers; validator output from
mcsa --dump-archas a tag ([VALIDATOR-OK]or[VALIDATOR-ERROR: …]) in the following user turn. - Not sent to Anthropic
- User email address, IP address, cookie values, quota counters, logout events. Anthropic only sees the anonymous conversation stream.
- Sub-processors (Art. 28 GDPR)
- Anthropic PBC (USA) — LLM provider, processing under DPA · Hetzner Online GmbH (Falkenstein, Germany) — VPS hosting for the chatbot stack · Resend (USA) — magic-link mail delivery, DPA · Let's Encrypt / ISRG — TLS certificates. DPAs are countersigned before beta opening; for existing sub-processors (Hetzner), DPAs are already in place.
- Third-country transfer (Chapter V GDPR)
- Anthropic (USA) and Resend (USA) process data outside the EU. Legal basis: EU Standard Contractual Clauses under Art. 46(2)(c) GDPR (2021/914). We conduct a Transfer Impact Assessment (TIA) per EDPB Recommendation 01/2020 and add safeguards: TLS encryption in transit, no persistence of architecture data at Anthropic beyond the abuse-log window, Anthropic training opt-out by default.
- Inference region (beta)
- API routing uses
inference_geo: "global". Anthropic typically routes to us-east-1, us-west-2, or eu-west (Ireland). No guaranteed EU region during beta. Migration to AWS Bedrockeu-central-1(Frankfurt) is planned for the commercial launch (phase 3); the chatbot backend's provider abstraction is prepared for it. - Data retention at Anthropic
- Anthropic stores API inputs/outputs for up to 30 days for abuse monitoring by default (see Anthropic retention policy). Model training on user data is disabled on our Anthropic account (opt-out by default).
- Data retention at Applied FuSa
- Email addresses are persisted with date, login history and an optional use-case note in a SQLite database (beta marketing list, deletion on request). The conversation history stays in browser state; the chatbot server is stateless. Magic-link tokens expire after 15 minutes. The generated DSL can be downloaded by the user as
.txt— the server does not store it. - Model and caching
- Default model is Claude Sonnet 4.6, switchable via configuration. Prompt caching is enabled for the system prompt and methodology context — reduces API cost and latency from the second turn of every conversation.
- AI use and audit separation
- The LLM only produces the DSL file (notation translation). The FTA computation (mcsa) and the FMEA derivation (fmea) are deterministic, audit-fit engines without LLM. Whoever wants to verify the methodology verifies the engines, not the model.
- Status
- Live since May 2026 (Phase-2 beta). Quota limits active, full-access allowlist for listed email addresses. Observation phase running.
AI transparency (EU AI Act)
The EU AI Act requires us to clearly communicate where and how AI is involved. Here is the honest state.
Today deterministic
Our production tools (mcsa live, csa26 live, Safety-Case Generator Beta) run without AI. The Safety-Case wizard runs client-side in the browser; mcsa and csa26 are native programs — reproducible and auditable. The riskforge chatbot (Phase-2 beta since May 2026) is the first tool with LLM involvement.
Role under the EU AI Act (Art. 3)
For our own deterministic tools (MCSA, csa26, fmea, Safety-Case) Applied FuSa is the provider (Art. 3(3)) — we develop the system and place it on the market. For the riskforge chatbot, two roles combine: provider of the chatbot product and deployer (Art. 3(4)) of the LLM supplied by Anthropic that we integrate into our system.
Risk classification
All currently live tools are minimal risk (deterministic systems without AI, outside the actual AI Act obligations). Under its current intended purpose and functional scope, the riskforge chatbot falls under limited risk (Art. 50 AI Act): direct interaction between a natural person and generative AI, with transparency obligations. Under current classification, none of our tools qualifies as high-risk under Annex III or Art. 6 — the rationale is in the exclusion analysis in the next point. For every planned tool a re-classification against Annex III and the then-current intended purpose is performed before live activation.
Annex III exclusion analysis
Annex III lists as high-risk AI e.g. biometric identification, critical-infrastructure operation, education/employment decisions, law enforcement, migration. Our tools are engineering tools for human developers who in turn work in regulated industries (automotive, medtech, aerospace). The tool itself takes no safety-relevant decision and is not a safety component in the sense of Annex I — it provides inputs for engineering decisions taken by the user. Therefore not high-risk under Annex III.
Art. 50 transparency duty (chatbot)
The riskforge chatbot marks the AI interaction explicitly at first contact: the login page mentions „chatbot" in the title, the chat UI uses a visually separate bot avatar and bot bubble style, and the data flow to the Anthropic API is documented transparently in the tool block above. Generated DSL files carry no hidden AI content — the DSL is explicit structured text output with clear methodology, no „synthetic media" risk under Art. 50(2).
AI Literacy (Art. 4, since 02/02/2025)
Applied FuSa is a one-person operation. The responsible developer (Wolfgang Freese, diploma physicist, 14 years FuSa practice) holds competence in the methodology (FTA/FMEA), the LLM APIs used (Anthropic), data protection (GDPR Art. 28, Art. 46, EDPB Recommendation 01/2020) and the EU AI Act; this is documented internally via project and methodology records, published book and conference contributions, and ongoing professional reading. External users of our tools use them under their own responsibility; a systematic AI literacy training programme for employees is not required as there are no employees. If staff is added, a training process will be established.
Logging and human oversight
For the chatbot we only log quota counters and magic-link logins — the entire conversation content stays in the browser state, not on our servers. Human oversight is structurally provided by the workflow design: the user decides which DSL they produce and release; the analysis-bearing engines (mcsa, fmea) are deterministic and verifiable; the user themselves decides whether to base their engineering decisions on the results. No auto-submit, no hidden decision.
GDPR matrix per tool
Compact overview of data processing per tool along standard GDPR fields. Detailed description in the per-tool blocks above; formal legal version in the per-product privacy notice.
| Tool | Purpose | Legal basis | Personal data | Recipients | Third country | Retention | Status |
|---|---|---|---|---|---|---|---|
| Landing site (appliedfusa.de) | Static content delivery | Art. 6(1)(f) | Server log only (IP, user agent, URL, time) | Hetzner DE | — | 14 days log | Live |
| MCSA (mcsa.appliedfusa.de) | Compute FTA from FtaDSL | Art. 6(1)(b) | Email (login), IP (audit), timestamp | Hetzner DE · Resend USA (mail) | USA (SCC Art. 46) | 7 days audit, no model content | Live |
| Safety-Case Generator | Safety-Case markdown via wizard | Art. 6(1)(b) (hosting) · (f) (server log) | No content data; technical server log on page request (IP, user agent, URL) | Hetzner DE (delivery + log only) | — | Server log 14 days; no content processing | Beta |
| csa26 (GitHub Action) | MISRA-C pre-audit check in CI | Art. 6(1)(b) (contract with GitHub user) | None — runs in customer GitHub account | GitHub (Microsoft) | USA (user's GitHub contract) | n/a — no data flow to Applied FuSa | Live |
| fmea (in preparation) | FMEA derivation from DSL | Art. 6(1)(b) | as MCSA | as MCSA | as MCSA | as MCSA | Beta in preparation |
| riskforge chatbot | Guided DSL generation via LLM interview | Art. 6(1)(b) | Email (magic link), optional use-case note | Hetzner DE · Anthropic USA · Resend USA | USA (SCC Art. 46 + TIA) | Email DB indefinite (delete on request) · Anthropic 30 days abuse log · no DSL persisting | Live (beta) |
EU AI Act matrix per tool
Overview of AI use, role and classification per tool under the EU AI Act. Classification rationale in the „AI transparency" section above.
| Tool | AI | Role | Risk class | Art. 50 | Human oversight | Logging | Status |
|---|---|---|---|---|---|---|---|
| MCSA | No | Provider | n/a (deterministic) | n/a | User reviews result | Audit log 7 days | Live |
| Safety-Case Generator | No | Provider | n/a (deterministic) | n/a | User edits output | Technical server log only (page request, 14 days) | Beta |
| csa26 | No | Provider | n/a (deterministic) | n/a | User reviews findings | No logging at Applied FuSa | Live |
| fmea | No | Provider | n/a (deterministic) | n/a | User reviews table | as MCSA (planned) | Beta in preparation |
| riskforge chatbot | Yes (Claude Sonnet 4.6) | Provider + deployer | Limited risk (Art. 50) | Fulfilled (UI labelling) | User decides DSL release; analysis engines deterministic | Quota + magic-link logins only | Live (beta) |
What we do technically
Technical measures at the infrastructure level — unglamorous, but important.
TLS 1.2+
Let's Encrypt certificates, auto-renewed, HSTS enabled.
No swap
The VPS has no swap space — RAM cannot be paged out to disk.
Core dumps off
Disabled system-wide (`kernel.core_pattern=|/bin/false`). No RAM-to-disk leak on crashes.
Container tmpfs
Tool temp directories live in RAM disks (`noexec`), no persistent files.
Session cookies
`httpOnly` + `Secure` + `SameSite=Lax`, signed with `itsdangerous` (32-byte secret).
Rate limits
On authentication endpoints (5 requests per IP per hour in MCSA).
Log rotation
Docker logs: 10 MB × 3 files. Nginx access logs: 14 days, then deleted.
Automatic backups
Daily server snapshots via Hetzner Cloud, 7-day retention. Manual golden-state snapshots for disaster recovery beyond that window.
No APM
No Sentry, no Datadog, no external stack traces. Errors stay on our server.
Magic-link auth
No password store. Tokens valid for 15 minutes, single-use.
Versioned
Nginx configs and Compose files live in git repos — auditable, reproducible.
Your rights
You have the full set of rights under the EU General Data Protection Regulation — access, rectification, erasure, restriction, portability, objection. For the legally complete version, see our privacy policy (in German).
- Art. 15 Right of access
- Art. 16 Right to rectification
- Art. 17 Right to erasure
- Art. 18 Right to restriction
- Art. 20 Right to data portability
- Art. 21 Right to object
Questions? Found a vulnerability?
Write to us directly. For security-related reports (e.g. suspected vulnerabilities, privacy complaints) we are grateful for a short email — we usually respond within one business day.
info@appliedfusa.deThis page is updated when facts change (new tools, infrastructure changes, AI integration). The last update timestamp is at the top.