AI for tax advisory firms

AI for your
tax advisory firm.

Work on receipts, tax assessments and correspondence with AI – with client data under a German contract and professional secrecy.

Or email us: hello@noirdoc.de

  • Processing in DE / EU
  • § 203 in the contracts
  • Zero retention
  • German contracting party

From daily practice

  • Receipts & assessments

    Summarise and check receipts, contracts and tax assessments in full context.

    Check
  • Correspondence

    Draft replies to the tax office and to clients, from objections to deadline extensions.

    Draft
  • Research

    Analyse the statutes and rulings you provide and compile the citations.

    Analyse

The file can go in as plain text, because confidentiality is agreed across the whole chain.

Use cases

Made for your client work.

The AI handles the reading and drafting; the responsibility stays with you.

Receipts and contracts

Summarise contracts, invoices and bank statements, extract key figures and flag inconsistencies. The context stays intact because you have nothing to leave out.

  • Summary
  • Contract analysis
  • Receipt check

Assessments and objections

Check the tax assessment against the return, list the deviations and draft the objection. You review and sign; the AI delivers the first draft.

  • Assessment review
  • Objection draft
  • Deviation list

Correspondence

Draft replies to clients and the tax office, in your tone and with the figures from the file. Deadline extension, query, statement.

  • Client correspondence
  • Tax office
  • Deadline extension

Research and year-end

Analyse the statutes, BMF circulars and rulings you provide and summarise them with citations. Prepare the notes and the management report for the annual accounts.

  • Citations
  • BMF circulars
  • Year-end preparation

Building blocks

What you build with it.

One OpenAI-compatible interface with all models and endpoints behind it.

Customers already connect the gateway to their DATEV environment through the API and analyse documents from it with RAG.

python · openai sdk api.noirdoc.de/v1
import os
from openai import OpenAI
 
client = OpenAI(
    # one line, that's all
    base_url="https://api.noirdoc.de/v1",
    api_key=os.environ["NOIRDOC_API_KEY"],
)
 
response = client.chat.completions.create(
    model="gpt-5.4",  # provider & model
    messages=[{"role": "user", "content": "Hello"}],
)
  • Text models

    Summarise, draft, check – with streaming and tool use through one interface.

    /v1/chat/completions
  • Your own knowledge base

    Embeddings over your files and client folders, answers with citations from your own records.

    /v1/embeddings
  • Transcribe dictations

    Audio goes to Whisper routes in the EU, and the text comes back into your software.

    /v1/audio/transcriptions
  • Connect your firm's software

    Anything that speaks an OpenAI-compatible API connects with one line of code.

    base_url
  • Rules per key

    Permitted providers and models, optional masking and a spending limit for each key.

    key_clients

§ 203 StGB

Your duty of secrecy applies to us too.

Professionals bound by secrecy may share client data only with service providers that are bound to confidentiality under § 203(3) of the German Criminal Code (StGB).

Chain of confidentiality

§ 203(3) StGB

  1. You

    § 203(1)

    Professional bound by secrecy

  2. Noirdoc

    § 203(3) ✓

    Person involved under § 203(3), employees bound

  3. Data centre DE / EU

    Bound ✓

    Confidentiality undertaking, physical access controlled

  4. Model provider

    Bound ✓

    Confidentiality + zero retention agreed

If a provider lacks the agreement, we filter it out of the catalogue.

We disclose nothing.

Confidentiality under § 203(3) StGB is anchored in the contracts – with us, our employees, our data centres and the providers in the catalogue. If a provider lacks the agreement, we filter it out.

  • § 203(3) StGB
  • DPA included, €0
  • German law

We keep nothing.

Neither we nor the providers store any content or train on your data. On request, we replace names and IBANs with placeholders before the request reaches the model.

  • Zero retention
  • No training
  • Optional masking

We are based in Germany.

Your contracting party is Noirdoc, based in Germany, and the providers run their data centres in Germany and the EU. A provider's registered office decides which law may access your data – the CLOUD Act applies to US companies even in a European data centre.

  • German contracting party
  • EU jurisdiction
  • DE / EU data centres

Technology

What we do for you.

An assurance is only worth as much as its proof. These points are what you can present to a professional chamber, a client or your data protection officer.

Confidentiality across the whole chain

The agreement under § 203(3) StGB is in place with us, our employees, our data centres and the providers in the catalogue. If a provider lacks it, we filter it out.

Zero retention

Once answered, your content is stored neither by us nor by the provider, and use for training is excluded by contract. If a provider deviates from this, we show it for each model.

Verifiable audit trail

You get a transparent log of when you used which provider and which model from which region. Only you know the content.

We redact your data for you – if you wish

On request, Noirdoc Shield statelessly redacts names, IBANs and custom blocked terms to [PERSON] or [IBAN] and blocks secrets and prompt injections before data reaches the model provider. Inspection runs with no stored mapping state on our German servers – on demand, active by default or enforced.

Providers & models per key

For each API key you decide which providers and models can be used and whether Noirdoc Shield is active. That way the marketing team works under different rules from the lawyers.

Budgets per key

Every key gets a spending limit. Once it is reached, the key stops – predictable for the firm's budget, and an extra safeguard against unintended bulk processing.

How it works

How to
get started.

Create an account right away or book a call if you have further questions. Either way, integration takes only a few minutes.

  1. 01

    A call – or straight to access

    30 minutes in which we go through your use cases and clarify which models are suitable and whether you want the optional masking. If you don't need this, skip this step.

    30 minutes
  2. 02

    Create a key, set rules

    In the portal you create API keys and set the permitted providers and models, the optional masking and the budget for each key. The Data Processing Agreement (DPA) with confidentiality under § 203 StGB has been in force since you signed up.

    Same day
  3. 03

    Swap the base_url

    Replace the endpoint and key in your software. The first request runs immediately afterwards – there is no deployment to wait for.

    Minutes

What drives us

Being sovereign means
being independent.

Artificial intelligence will increasingly share in decisions – on processes, client matters, diagnoses, entire industries. Anyone who uses it without control hands their data and know-how over to a few corporations outside Europe.

Progress should not come at the price of dependence. That is why we build Noirdoc from Munich, so that every company can use AI securely and flexibly.

Europe with Germany highlighted – headquarters in Munich

Questions

The most common questions at a glance.

What tax advisory firms want to know before the first call – answered before you have to ask.

May I enter client data?

§ 203(3) StGB allows professionals bound by secrecy to involve other persons in their work, provided these persons are bound to secrecy. With us, this obligation is agreed across the whole chain – with us, our employees, our data centres and the providers in the catalogue – and nothing is stored after the answer. Whether that is sufficient for your engagement is for you and your chamber to assess; we provide the documents for it.

Why is ChatGPT a problem for client and patient data?

A professional bound by secrecy who copies a pleading, a file or a medical finding into a consumer service passes the content to a third party outside the client or treatment relationship. § 203 StGB makes exactly this disclosure a criminal offence, regardless of whether the provider later deletes or analyses the data. What matters is that the third party can gain knowledge of it at all.

Isn't a data processing agreement under the GDPR enough?

A standard DPA covers only data protection; professional secrecy is a separate body of rules. Since the 2017 reform, § 203(3) StGB expressly allows professionals bound by secrecy to involve other persons in their work, provided these persons are bound to secrecy. Our DPA covers both: under its preamble we act as a person involved under § 203(3) StGB, and under section 6.5 of the DPA every person with access to protected information is bound to confidentiality in text form. The DPA applies from sign-up, so you don't need to sign anything separately. On request, you receive formal instruction on confidentiality under § 203 StGB and proof that our employees are bound to confidentiality.

View the DPA →

Do I have to redact or anonymise my input before sending it?

No. If you delete names and leave out context, your answers are only half as good. With us, there is no need: confidentiality is governed by contract across the whole chain – with us, our employees, our data centres and the providers in the catalogue – and nothing is kept. If you still want to sanitise inputs before forwarding, switch on Noirdoc Shield as an option: our German infrastructure redacts details such as [PERSON] or [IBAN] statelessly and blocks secrets and prompt injections before the request reaches the model provider – configurable under Models → Shield as on demand, active by default or enforced.

What does zero retention mean in practice?

Neither we nor the providers store your requests and answers or train on your data. If a provider deviates from this, we show it for each model, and you can block it per key. The log you keep as evidence contains timestamp, provider and model – only you know the content.

Is my input used for training?

No. Use for training is excluded in the contracts with the model providers, which we negotiated and pass on to you. We do not train any models on customer data ourselves – and nothing is stored after the answer anyway.

Do I have to rebuild my existing tools?

Usually not. The interface is OpenAI- and Anthropic-compatible: you swap the base_url and the API key, and everything else stays. Software that already talks to one of these APIs – from your firm's software to your own script – keeps working unchanged.

Quickstart →

What does it cost?

You pay for usage per model, billed by tokens, with no minimum spend and no setup project. The DPA including confidentiality under § 203 StGB costs nothing extra. Prices per model and provider are published on the home page.

Pricing →

What do I present to the chamber of tax advisors or my data protection officer?

The DPA under the GDPR, the confidentiality undertaking under § 203(3) StGB and the log for each request with timestamp, provider and model. The log contains no content. The DPA and the confidentiality undertaking cost nothing extra.

View the DPA →

What does Noirdoc store, and what stays with me?

Neither we nor the providers store your requests and answers; they exist only in your software. We keep the log with timestamp, provider and model as evidence for you. Your documents and retention periods therefore stay in your own systems.

Next step

See it on your own files.

30 minutes through the gateway, the contracts and the audit log – feel free to bring a tax assessment or contract from your daily work.

hello@noirdoc.de

Questions or documents by email, no appointment needed. We usually reply within one working day.