How to run an LLM observability RFP with the right questions
If your team ships LLM features and must record prompts, outputs and costs in storage you control, the RFP is where most implementation risk gets decided. This section sets out how to run that evaluation: the questions are vendor-neutral and apply to both Langfuse and Arize Phoenix, each answer should be scored in writing against the same criteria, and the scores should be kept with the decision record. DeployOpen plans, implements, hardens and supports self-hosted systems inside your infrastructure and prepares controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Treat any partner who promises otherwise as a warning sign.
The rest of this page explains which questions to ask and what a good answer contains. It covers how the partner instruments your applications, including whether they use OpenTelemetry where it fits; how ClickHouse, PostgreSQL, Redis or Valkey and S3-compatible storage are sized, upgraded and backed up; how sensitive prompts are masked before storage; which self-hosted Langfuse features need an Enterprise license key; how evaluations are designed and reviewed; and how retention settings map to the record-keeping duties in Article 12 and Article 19 of the EU AI Act. For each area, ask the partner to name the component, the setting or role involved, the owner on your side, and the evidence they will hand over at acceptance. Vague answers such as "we will configure that later" should score low, however polished the rest of the response is.
Which questions matter most for each stakeholder
Security and compliance leads approve or reject a partner mainly on where prompts and outputs are stored, who can read them, and whether the retention design can be evidenced. Traces often contain personal data and client content, so these questions carry the most weight.
- Masking before storage: Ask whether personal data is masked in the SDK or the OpenTelemetry Collector before it reaches storage, and which masking controls are server-side. Server-side data masking is listed as a Langfuse Enterprise license feature, so confirm the licensing position in writing.
- Retention against AI Act duties: Ask how retention periods are set per project and how they meet the six-month minimum for logs under Article 19(1) of the EU AI Act, where that applies. Confirm which retention policy controls need an enterprise key.
- Access control on trace data: Ask which roles can view traces with client data, and whether project-level RBAC and audit logs are included in the license your organization will run.
- Evidence, not attestations: Ask the partner which configuration records, access logs and test results they will hand over for an independent assessor. DeployOpen prepares evidence for assessments but does not issue audit reports.
Before sign-off, confirm the masking design and the retention schedule in writing with your data protection officer.
Platform teams own the cluster, the databases and the on-call rota, so their sign-off turns on whether the deployment can be run, scaled and upgraded without surprises. Langfuse runs several stateful dependencies, so the sizing and upgrade answers matter as much as the features.
- Deployment model: Ask whether the proposed design is a single VM with Docker Compose, which Langfuse documents for testing without high availability, or Kubernetes with Helm or Terraform for production on AWS, Azure or GCP. Confirm which model your organization will run.
- ClickHouse sizing and backups: Ask how ClickHouse is sized against expected ingestion, what the memory and disk plan is, and how backups and restores are tested. Langfuse's scaling guide gives minimum resources, and the v3 to v4 guide advises about 3x ClickHouse disk headroom when backfilling.
- Upgrade discipline: Ask how the partner will handle major upgrades, since migrations apply automatically at startup within a major version but major versions follow dedicated guides. Ask which ClickHouse, PostgreSQL and Redis versions the chosen release requires.
- Scaling the worker and web tiers: Ask how worker containers are scaled on CPU load and when
langfuse-webis split into separate ingestion and UI deployments.
Before sign-off, request a written sizing model based on your own trace volume and a restore test plan.
Application owners care whether their code can be instrumented with limited change and whether traces show what they need to debug, evaluate and attribute cost. Their questions focus on instrumentation method and the evaluation workflow, not infrastructure.
- Instrumentation path: Ask which frameworks and languages the partner will instrument, and whether they use the Langfuse SDKs or OpenTelemetry. OpenTelemetry is vendor-agnostic and trace SDKs are stable in most languages, but log SDK maturity varies, so confirm the languages your teams use.
- Evaluation setup: Ask how evaluations are configured, who writes the scoring rules, and whether scores are tied to prompt versions before a change ships.
- Cost and latency attribution: Ask how cost is recorded per model call and per request, and how agent steps appear as nested spans. Test this on a representative application during the proof of concept.
- Change control for prompts: Ask whether protected prompt labels are needed and which license tier includes them.
Before sign-off, have one application team run a proof of concept against a non-production instance and review the traces it produces.
Procurement teams compare partner proposals on scope, licensing and what recurs after go-live. Because DeployOpen works on fixed scope agreed in writing, the scope wording matters more than any headline price, and DeployOpen does not publish a price list.
- Written scope and deliverables: Ask for the scope, deliverables and timelines in writing before work starts, including who owns the configuration, the runbooks and the instrumentation code at handover.
- License boundaries: Ask which features need an enterprise license key and who buys that license. Langfuse's open source version includes its core features without limits, while its Self-Hosted Enterprise plan is custom-priced and adds a named support engineer and a support SLA.
- Recurring costs: Ask which costs are one-time (instrumentation, deployment, testing) and which recur (infrastructure, licenses, upgrades, retainers for support and continuous testing).
- Exit and continuity: Ask how data is exported and how the platform can be moved if the partner or the license terms change.
Before signing, ask for a quote that separates one-time work from recurring items and maps each to a written scope line.
How should a partner instrument our LLM applications?
Which frameworks and languages should a partner cover for LLM tracing?
A capable partner names the exact frameworks and languages in your stack, such as a specific Python service calling a model SDK, a Node.js backend, or a workflow tool, and says how each one is traced. Ask for a list per application, with the instrumentation method for each: a native Langfuse SDK integration, an OpenTelemetry instrumentation library, or manual spans written by your engineers. Gaps should be written down as out of scope or as work that needs a decision. A partner who answers "all of them" has not looked at your code yet.
How does OpenTelemetry fit into an LLM tracing design?
OpenTelemetry is a vendor-neutral framework for generating, exporting and collecting traces, metrics and logs, but it is not a storage backend, so Langfuse or another tool still has to receive and display the data. The OpenTelemetry Collector, licensed under Apache-2.0, can sit next to services as an agent or run as a gateway that receives telemetry from many sources. Ask the partner whether the Collector will redact fields, batch exports and authenticate senders, and which trace attributes they will map. Trace API stability differs by language, so confirm the SDK status for each of your languages before committing.
Can our traces show nested steps for agents and multi-call requests?
Yes, if the instrumentation records parent and child spans, and a good partner will demonstrate this on a request from your own application. For a single chat turn, you should see the retrieval call, the model call, any tool calls and the post-processing as nested spans under one trace. Ask how context is propagated across services and queues, because a broken parent link splits one user request into several unrelated traces. Request a sample trace review as part of acceptance, not a slide with a generic diagram.
How will the partner attribute token usage and cost to each request?
Cost attribution depends on the model provider reporting token counts for each call and on a price table that maps model names to unit prices. Ask the partner where the price table lives, who updates it when providers change prices, and how cost is grouped by user, team, feature or tenant. If requests pass through an AI gateway such as LiteLLM, confirm whether cost is recorded at the gateway or in the application, because double counting is a common error. Ask for a reconciliation test that compares recorded cost with the provider invoice for one day of traffic.
How does a partner estimate trace volume before rollout?
Trace volume is estimated from request volume, the number of model and tool calls per request, the size of prompts and outputs, and the retention period you choose. The partner should ask for your current request rates per application, peak-to-average ratios and the share of requests that will be traced, then calculate storage needs for ClickHouse and blob storage from those numbers. Agents can produce hundreds of spans per request, so a single estimate for all applications is a warning sign. Ask the partner to show the formula and assumptions in writing, then measure real volume during a pilot before sizing production.
How long does instrumenting our applications usually take?
The effort depends on the number of applications, their languages, how much code must change, and whether engineers from your team will do the work. Sizing is set in the written scope, not by a generic duration, so ask the partner to break the work into applications, instrumentation tasks, testing and handover. Each application should have a named owner on your side who approves the span design and data fields. Ask what is one-time (initial instrumentation and dashboards) and what recurs (SDK upgrades, new endpoints, and price table maintenance).
What is a red flag when a vendor promises to instrument everything?
A promise to instrument everything without reviewing your applications is a red flag, because LLM applications differ in framework, language, hosting and data flow. Watch for answers that skip the test plan, avoid naming the stack, or treat masking and cost tracking as later add-ons. A credible partner asks for an inventory of applications, builds a test plan with sample requests, and states what will not be traced, such as client-side code or third-party tools that cannot emit spans. Ask for the test plan and acceptance criteria in the proposal before you sign.
How should upgrades move through a v3 to v4 change?
A good partner walks you through a fixed sequence that confirms the platform and dependency versions, plans the data model change, sizes disk for backfill, proves the upgrade in a non-production copy, and only then rolls it out to production. Each step should end with a written check you can review.
Confirm current versions across the stack
Ask the partner to record the Langfuse version in production and in every non-production environment, along with the versions of ClickHouse, PostgreSQL, Redis or Valkey, and the Langfuse Web and Worker images. The partner should show where those versions are pinned, such as Helm values or Compose files, and flag any environment that has drifted. The step closes with a written inventory that both teams sign off before any upgrade planning begins.
Check dependency minimums for the target release
The partner should compare the inventory against the v3 to v4 upgrade guide, which requires ClickHouse 25.12 or later (26.4 recommended), PostgreSQL 15 or later and Redis 7.0 or later. Any component below these minimums needs its own upgrade plan, scheduled and tested before the Langfuse change. Ask the partner to confirm the exact minimums against the current guide, since requirements can change between releases. The step closes with a dependency list marked as compliant or blocked.
Plan the observations-first data model change
Langfuse's v4 guide moves to an observations-first ClickHouse data model. The partner should explain which existing tables, queries, saved dashboards, and any custom integrations read the old model, and how each will behave during and after the change. Ask whether the team has tested API consumers, exports and evaluation jobs against the new model. The step closes with a written impact list that names each consumer and its owner.
Estimate backfill disk headroom in ClickHouse
The v3 to v4 guide advises about 3x ClickHouse disk headroom when backfilling historic data. The partner should translate that ratio into your actual stored volume, using current disk usage, retention settings and expected growth, and confirm where the headroom will come from. Ask how the plan handles a backfill that runs out of disk, including whether a retention or storage alert fires before the limit. The step closes with a disk calculation and an alert threshold that both teams have reviewed.
Back up before any change
Before the test run, the partner should take and verify backups of PostgreSQL and ClickHouse, and confirm that blob storage holds the data it is expected to hold. The partner should also record the restore procedure and show that it was tested on a copy, not assumed. Ask who can authorize a restore and how long the team expects a restore to take, based on its own measurements. The step closes with a restore test result that is documented before production is touched.
Rehearse the upgrade in a non-production environment
The partner should run the full upgrade on a copy of production data, including the automatic database migrations that run at startup and the backfill. The rehearsal should check traces, prompts, scores, costs, and user access, and confirm that SSO, RBAC and any Enterprise license features still work. Ask the partner to record every error, workaround and timing observation. The step closes with a rehearsal report that lists open issues and whether each one blocks the production change.
Roll out to production with a rollback plan
Once the rehearsal passes, the partner should run the production upgrade in a scheduled window with named owners, a rollback procedure and a communication plan for teams that send traces. Langfuse's guidance on major upgrades should be followed step for step, with the partner confirming each check as it completes. The rollback plan should state what triggers a rollback and who makes that call. The step closes with a post-upgrade verification of ingestion, the UI, the APIs and the backups.
Document the outcome and the next upgrade
The partner should hand over an updated runbook with the final versions, the backfill results, the disk usage after the change, and any deviations from the plan. The record should also note how future updates within v4 will be applied, since minor updates within a major version are documented as non-disruptive but still need testing in your environment. The step closes with a signed-off change record that your audit and operations teams can keep.
How are sensitive prompts masked before they are stored?
Where should prompt masking happen in a self-hosted Langfuse setup?
Masking should happen before data leaves the application, either in the SDK or in the OpenTelemetry Collector, so raw personal data never reaches ClickHouse or blob storage. Langfuse's documented server-side data masking is an Enterprise license feature, so an open source deployment depends on client-side controls you design and test. Ask the partner which layer masks each field, and why that layer was chosen for your applications. The OpenTelemetry Collector is useful when several services send traces, because one set of processors can cover them all. Confirm the Collector processors and SDK hooks against the versions you deploy, since OpenTelemetry component stability varies.
Which Langfuse masking and retention controls need an enterprise license key?
Self-hosted Langfuse documents several controls that need an Enterprise license key, including server-side data masking, data retention policies, audit logs, project-level RBAC roles and protected prompt labels. Core tracing, evaluation and APIs are available in the MIT-licensed open source version without limits. Before you commit, ask the partner to list every masking and retention requirement from your policy and map each one to either a client-side control or a licensed feature. Confirm current licensing terms directly with Langfuse, because a license decision changes the architecture and the budget.
How should masking rules be written, tested and versioned?
Masking rules should live in version control as code, with each rule tied to a named data category such as email addresses, phone numbers, account numbers or national identifiers. Each change should pass an automated test suite before deployment. A good partner will show a masking test that sends sample personal data (illustrative examples are fine, such as fake names and fake card numbers) through the instrumented application, then checks that the stored trace contains only the masked form. Ask who approves new rules, how rule versions are linked to trace records, and how a failed test blocks a release.
Do masking rules cover model outputs and tool results too?
They should, because personal data often appears in model responses, retrieved documents and tool calls, not only in the user prompt. Agent traces are the most exposed, since a single request can carry API responses containing customer records. Ask the partner to show which span attributes are masked for inputs, outputs, tool arguments and tool results, and how retrieved document chunks are handled. Masking only the prompt field is a common gap. Verify that the rules also cover metadata fields and error messages, which can echo user input.
What should a review of data reaching storage look like?
A practical review queries a sample of recent traces in the self-hosted storage and checks each field against the masking policy, looking for unmasked personal data in inputs, outputs, metadata and logs. The review should be repeated after each rule change and on a schedule, because new features and prompts can introduce new fields. Ask the partner who performs the review, which sample size and fields are used, and where the results are recorded as evidence. The output should be a documented finding, not a verbal assurance.
Who owns masking rule changes after go-live?
Ownership should be written down before go-live: engineering maintains the rule code, a named data protection or security owner approves changes, and the platform team deploys them through the same review path as other infrastructure changes. Changes to masking should be logged, and the partner should explain how a rule change is rolled out without leaving a window where unmasked data is stored. Ask whether the partner provides ongoing rule maintenance under a retainer or hands over the rules and test suite for your team to run.
How much does masking work add to an implementation?
Masking adds design, rule-writing, testing and review effort on top of the base deployment, and the size depends on how many applications, data categories and languages are in scope. The main cost drivers are the number of instrumented applications, the complexity of agent traces with many tool calls, and whether your team needs enterprise controls. Ask the partner for a quote that itemizes masking design, test creation, the review cadence, handover and any Langfuse license cost, which is priced separately by Langfuse on its self-hosted pricing page. Also ask what recurs, such as rule maintenance, reviews and license renewals.
Which Langfuse features need an enterprise license key
This table compares the Langfuse features that are available without limits in the MIT-licensed open source version with the self-hosted features that need an Enterprise license key. Read each row with the question to put to your implementation partner, since the feature set determines whether controls such as masking and retention are built into Langfuse or must be handled elsewhere. Confirm current availability in the Langfuse license key documentation before you finalize requirements.
| Feature | Open source (no license key) | Enterprise license key required | Question to ask the partner |
|---|---|---|---|
| Core tracing, evaluation and APIs | true | false | Which of our required trace, score and dataset workflows run on the open source build without a key? |
| Project-level RBAC roles | false | true | How will we limit who can view traces containing client data if project roles need a license key? |
| Protected prompt labels | false | true | How will we stop unreviewed prompt versions from reaching production without this feature? |
| Data retention policies | false | true | If retention is not built in, how will you enforce deletion periods across ClickHouse and blob storage? |
| Audit logs | false | true | Where will access and change records be kept if Langfuse audit logs need a key we do not buy? |
| Server-side data masking | false | true | Will masking happen in the SDK or OpenTelemetry Collector instead, and how will you test it? |
| UI customization | false | true | Do we need custom branding or interface changes, and does the license cover them? |
| Org management API with SCIM | false | true | How will user provisioning and deprovisioning from our identity provider be handled without SCIM? |
| Instance management API | false | true | How will instance settings be automated and version-controlled if this API is not licensed? |
How are evaluations set up and who reviews the scores?
What is the difference between model-based and human scoring in LLM evaluations?
Model-based scoring uses an evaluator model to grade outputs against a rubric, which is fast and can run on every sampled trace, while human scoring uses trained reviewers who judge quality, tone and policy compliance. Most teams use both: automated scores cover volume, and reviewers calibrate the automated judge on a labeled sample so its scores can be trusted. Ask the partner which rubrics they would start with for your use case and how they would measure agreement between the judge and reviewers.
How does a team build an evaluation dataset from production failures?
Failed or low-scoring traces are collected from Langfuse, reviewed, stripped of personal data where needed, and saved as versioned dataset items with the expected behavior written down. Each new production failure becomes a regression case, so the dataset grows with the application. Confirm how the partner handles masking before traces are copied into datasets, because a dataset is a second copy of the prompts and outputs and needs the same access and retention rules as the original traces.
How is live LLM traffic sampled for evaluation without overloading storage?
Teams usually score a fixed percentage of live traces, plus every trace that meets a risk rule such as a user complaint, a guardrail trigger or a long tool-call chain. Sampling rates set the evaluator workload and the volume of stored scores, so they should be reviewed as traffic grows. Ask the partner how sampling is configured in the self-hosted deployment, who can change the rate, and how sampled and unsampled traffic is reported so the scores are not mistaken for full coverage.
Who should be named as reviewers for LLM evaluation scores?
Good practice names reviewers by role: a product owner accountable for quality targets, a domain expert who can judge correctness, a security or privacy reviewer for data exposure, and an engineer who owns the prompt and model configuration. Named people, with a backup for each, make it clear who signs off a change and who answers for a low score. Ask the partner to help write the reviewer roster, the review frequency and the escalation path, and to confirm that reviewer access to traces is limited to what each role needs.
How should evaluation scores gate a prompt or model change before release?
A written release gate sets the minimum scores on the regression dataset, the maximum acceptable drop from the current production baseline, and the reviewer sign-off required before a prompt, model or retrieval change ships. The gate should be run automatically in the release pipeline and its results stored with the change record. Ask the partner which thresholds they recommend for your risk level, who can override a failed gate, and how an override is recorded.
Where do evaluation runs and scores get stored, and who can see them?
Evaluation runs, judge outputs and human scores are stored in the same self-hosted Langfuse deployment as the traces, which means their data sits in the organization's own PostgreSQL, ClickHouse and S3-compatible storage. Confirm that evaluator model calls also stay inside the boundary: the partner should explain whether the judge model is hosted on the organization's own servers, such as through vLLM or Ollama, or called through an external API, because an external judge would send prompt and output content outside the infrastructure. Ask who holds the keys and how project roles separate reviewers from engineers.
Can our own team run LLM evaluations, or do we need a partner?
A team with engineers familiar with the application can run evaluations in-house once the platform, rubrics and gate are defined, and much of the work is ongoing review rather than setup. A partner is more useful for designing the rubrics, calibrating the judge model, building the first regression dataset and writing the release gate. Ask the partner which parts they would hand over, what documentation they would provide, and whether a retainer for ongoing review is needed. The scope and deliverables should be agreed in writing before work starts.
How does retention meet AI Act logging rules?
The EU AI Act sets two logging duties that bear on retention: automatic event recording over the system's lifetime, and a minimum keep period for those logs. Retention settings in the platform, erasure requests under GDPR and legal holds all act on the same trace data, so the partner should show how they interact.
Automatic recording over the lifetime
Article 12(1) requires high-risk AI systems to technically allow automatic recording of events (logs) over the system's lifetime. For LLM observability, ask the partner to show which events are captured by default, such as prompts, outputs, model versions and tool calls, and which are dropped by sampling or masking. Confirm that capture runs continuously, not only during test periods. Whether your system is high-risk is a classification decision for your legal team.
Six-month minimum keep period
Article 19(1) requires providers to keep the logs described in Article 12 for at least six months, unless other law provides otherwise. Ask the partner to configure retention so the shortest setting in any project cannot fall below that floor. Financial, health and sector rules may set longer periods, so the retention schedule should be built from the longest applicable requirement, not the AI Act minimum alone.
Retention settings in the platform
Self-hosted Langfuse lists data retention policies among the features that need an Enterprise license key. Ask whether the partner will use that feature or enforce retention through storage lifecycle rules and ClickHouse partition deletion instead, and how each option is tested. Confirm that deletion reaches PostgreSQL, ClickHouse and S3-compatible blob storage together, since a retained copy in any one store defeats the schedule.
Legal holds and GDPR erasure
Retention rules must cope with two opposing demands: legal holds that freeze records for investigations, and GDPR erasure requests that require personal data to be deleted. Ask the partner how a hold suspends deletion for a defined scope without silently keeping unrelated personal data, and how an erasure request is applied across traces, datasets and backups. Masking before storage reduces what must be erased later.
Backups and deletion evidence
Backups can keep deleted records for as long as their own retention allows, so they belong in the retention design. Ask how backup copies of ClickHouse and blob storage expire, how restores avoid reintroducing erased or expired logs, and what record shows each deletion ran. The partner should provide that evidence in a form your auditors can read, without issuing any attestation of its own.
Who owns the retention decision
The partner prepares systems, controls and evidence for a compliance assessment, but the legal determination of how long logs are kept belongs to your organization and its counsel. Ask the partner to document each retention value as a configuration choice that your owner signs off, with a named reviewer for changes. Independent auditors and certification bodies, not the partner, judge whether the result meets the rules.
How to score partner responses
This table compares each question area against a 0 to 3 scale and the evidence a partner should provide to earn each score. Read a score of 3 as a written, verifiable answer with artifacts you can test, and treat a 0 or 1 as a gap to close before contract signature.
| Question area | Scoring (0 to 3) | Evidence the partner should provide |
|---|---|---|
| Instrumentation approach | 0: no plan for SDK or OpenTelemetry tracing. 1: manual logging per application. 2: named frameworks instrumented with a documented pattern. 3: instrumentation plan covering every application in scope, with nested traces and cost fields. | Instrumentation inventory and a sample trace export from a non-production application |
| ClickHouse sizing | 0: no sizing basis given. 1: generic sizing with no traffic assumptions. 2: sizing tied to request volume and span count. 3: worksheet with ingestion, retention and headroom assumptions that you can change. | Sizing worksheet with stated traffic and span assumptions, plus the planned ClickHouse memory and disk |
| Blob storage and backup | 0: storage location not stated. 1: storage named but no backup or restore plan. 2: backup schedule and restore test described. 3: documented restore test on a copy, with object storage and database backups covered together. | Backup runbook and the most recent restore test record |
| Prompt and output masking | 0: masking not addressed. 1: masking promised for later. 2: client-side masking in the SDK or Collector, with named fields. 3: masking rules tested against sample personal data, with the test report and the edge cases it missed. | Masking test report using synthetic personal data and the rule configuration |
| Enterprise license features | 0: license needs not identified. 1: features listed without cost or owner. 2: each required feature mapped to a license decision. 3: mapping for every feature you need, with the licence owner, the cost source and a fallback if you do not buy it. | Feature-to-license matrix checked against the current Langfuse license key documentation |
| Evaluation setup | 0: no evaluation design. 1: spot checks only. 2: scheduled scoring with named evaluators and a dataset process. 3: sampling rules, scoring methods, reviewer roles and a release gate tied to scores. | Evaluation design document with a sample scoring configuration and reviewer roster |
| Retention and AI Act logging | 0: retention not addressed. 1: one retention period with no link to legal duties. 2: retention policy mapped to the six-month minimum in Article 19(1) and to Article 12 logging. 3: per-dataset retention configuration, deletion procedure and legal review sign-off owner. | Sample retention configuration, deletion job logs and a mapping to the EU AI Act articles reviewed by your legal team |
| Upgrade and support model | 0: upgrades not described. 1: upgrades on request. 2: migration plan for major versions and a test environment. 3: written upgrade process covering the v3 to v4 ClickHouse and PostgreSQL version requirements, with rollback steps. | Upgrade runbook and a dated migration plan for the target version |
What buyers ask before hiring a partner for LLM observability
The first question most buyers ask is what the work costs and how much effort it takes from their own team. Cost has two layers: the implementation fee for planning, deploying, instrumenting and handing over the platform, and the recurring cost of running it. DeployOpen does not publish a price list, and most engagements are fixed-scope, so the quote follows from a written scope. The main cost drivers are the number of applications and agent workflows to instrument, the number of environments, the storage the traces will need, whether the organization needs enterprise features, and how much evaluation design is included. Ask the partner to price each of these as separate line items so you can see which ones move when scope changes.
Ask for the quote to separate one-time work from recurring costs. One-time items usually include architecture, deployment on the organization's own cloud account or data center, OpenTelemetry or SDK instrumentation of each application, masking rules, SSO and project role setup, evaluation design and documentation. Recurring items include infrastructure for PostgreSQL, ClickHouse, Redis or Valkey and S3-compatible storage, upgrades, backups, and any support retainer. For storage, ask how the partner estimated ClickHouse and blob capacity from your expected trace volume and retention period, and how much disk headroom they reserve for future backfills. Also confirm whether enterprise features such as data retention policies, server-side masking, audit logs and SCIM are priced into the scope, because Langfuse's self-hosted pricing lists them under a custom-priced Self-Hosted Enterprise plan that the partner should confirm against the current terms.
Timing and internal effort depend on how many applications are in scope, how well they already emit traces, and how quickly your security and platform teams can approve the storage design and access model. Ask the partner for a delivery plan with milestones and named responsibilities, and list in writing what your team must provide: cloud accounts, network paths, identity provider configuration, a named product owner for prompts and evaluations, and reviewers for scores. Whether your team can do this alone is a fair question. A capable platform team can run a Docker Compose test on a single VM, which Langfuse documents as non-high-availability, but production use needs Kubernetes deployment, sizing, backup and upgrade routines that many teams have not run before. Ask the partner which parts they would transfer to your staff and how.
How DeployOpen scopes and delivers LLM observability work
DeployOpen answers LLM observability RFP questions by planning, implementing and documenting self-hosted Langfuse or Phoenix inside the organization's own cloud accounts, data centers or air-gapped networks. Each answer is tied to a written scope, so the figures, licence checks and storage decisions in the RFP response match what is actually built.
How we scope
- We confirm which applications, frameworks and model providers need instrumentation before any sizing starts.
- We record trace volume, retention periods, masking rules and the users who may view traces in the written scope.
- We list which Langfuse enterprise features your requirements need, so licence key decisions are made before purchase.
How we build
- We deploy the Langfuse web, worker, PostgreSQL, ClickHouse, Redis or Valkey and S3-compatible storage components in your environment.
- We instrument applications with the SDK or OpenTelemetry, and configure client-side masking and the Collector where agreed.
- We set up evaluations, cost tracking and backup and restore procedures, then test them against the scope.
How we hand over
- We document architecture, sizing assumptions, retention settings, masking rules and access roles so your team can answer RFP follow-ups.
- We deliver runbooks for upgrades, including the ClickHouse and PostgreSQL version requirements for each major release.
- We prepare evidence that supports your compliance team's review, while independent auditors and certification bodies make all assessments.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer, agreed in writing.
- We can review trace retention and access settings each time your AI systems or applicable rules change.
- We advise on whether to keep a self-hosted observability platform current with each Langfuse release in your change process.

