Migrate from Recorded Future to OpenCTI

Moving from Recorded Future to self-hosted OpenCTI is a platform migration, not a feed swap. This page sets out what transfers cleanly, what needs rework, what stays behind, and how to plan the cutover.

On this page

Migrate from Recorded Future to OpenCTI: what the move involves

OpenCTI can take over the platform role Recorded Future plays for your team, but it cannot take over the collection or analyst reporting that Recorded Future produces. If your trigger is a renewal, a pricing change, a data residency requirement or lock-in, the practical question is whether you still need Recorded Future's portal to store, correlate and share indicators. In most cases you do not, because OpenCTI holds that role on your own infrastructure. What you still need is a source of intelligence, which may be a commercial feed, open feeds or your own research. OpenCTI structures its data on the STIX 2 standard, so indicators, reports, threat actors, malware and the relationships between them can be stored as linked objects and queried through its GraphQL API. Collection, proprietary telemetry and analyst-written reporting remain with whoever produces them, so a move of this kind changes where intelligence lives, not where it originates.

The work is usually shared among three groups. The platform team deploys and sizes the stack, which includes Elasticsearch or OpenSearch, Redis, RabbitMQ and S3-compatible storage such as MinIO, and handles backups, upgrades and access control. Security engineering builds and maintains the connectors that import and export data, and wires indicators into detection and blocking tools. The intelligence team decides what is worth keeping, how reports are structured and which sources remain in scope. Confirm early which of these roles you can staff internally, because the largest effort tends to sit in connector configuration and data mapping rather than in the initial installation. Check the OpenCTI deployment overview and the product life cycle documentation to decide between regular releases and LTS releases, since LTS builds require a specific license key and receive only critical fixes after stabilization.

The effort and risk are moderate and depend mostly on how much history you need to carry over. Current indicators and active reports are the simplest to move. Years of relationships, custom fields and analyst notes take longer to map to the STIX 2 model and need validation in a test instance first. The main risks are losing context during import, duplicating records from overlapping sources, and running without a feed if the subscription ends before the new pipeline is proven. Ask any implementation partner for a written scope that names the data sets, connectors, environments, acceptance tests and cutover steps, and confirm with your own environment which Recorded Future exports and API access you are entitled to under your current contract before work begins.

Which Recorded Future capabilities map to OpenCTI, and which need rework

This table maps common Recorded Future capabilities to their OpenCTI equivalents and marks each as clean, needs rework or gap. Read the status column as a planning signal: confirm connector coverage and licensing with Filigran or in a pilot before you cut any subscription.

CapabilityOpenCTI equivalentStatusWhat to confirm
Indicator storageSTIX 2 objects such as indicators and observables, held in the OpenCTI knowledge graphCleanExport formats and field mapping for your current indicator set in a pilot import
Reports and analyst write-upsSTIX report objects with linked entities and attached files stored in MinIO-compatible storageNeeds reworkTemplates and report layout will be rebuilt by your analysts, not carried over automatically
Relationships and graph viewsEntity relationships and the graph visualization built on the STIX knowledge schemaCleanWhether your relationship types and graph depth needs match the default views
SearchFull text indexing and filters backed by Elasticsearch or OpenSearchNeeds reworkSaved searches and alert queries must be rewritten as OpenCTI filters or playbook rules
Enrichment from Recorded Future risk dataRecorded Future connectors (enrichment and feed import), if your subscription and token allow themNeeds reworkConnector availability, supported object types and update cadence with Filigran or Recorded Future
ATT&CK mappingMITRE ATT&CK connector that maps techniques to intelligence objectsCleanConnector version compatibility with your OpenCTI release line
API accessGraphQL API for reads, writes and automationNeeds reworkEvery script and integration calling the Recorded Future API must be rewritten against GraphQL
Collection from proprietary sourcesNo equivalent in OpenCTI, which stores and organizes intelligence but does not collect itGapWhat you need from open feeds, partner sharing or a retained commercial feed
Analyst reporting and finished intelligenceNo equivalent. Your team writes its own reports inside OpenCTIGapStaffing and editorial capacity to produce the reports you currently receive
User access and single sign-onLocal accounts plus SSO options such as OpenID, LDAP, SAML, certificate and header authentication in Enterprise EditionNeeds reworkWhether SSO and organization segregation require the Enterprise Edition License, and what your identity provider supports
Audit logs, playbooks and organization segregationEnterprise Edition features under the OpenCTI Enterprise Edition LicenseNeeds reworkLicense decision before go-live, since these features are not in Community Edition

What moves cleanly and what stays behind

Indicators, observables, reports and the links between them move cleanly into OpenCTI because they map to STIX 2 objects. OpenCTI structures its data on the STIX 2 standard, so indicators, observables, malware, threat actors and the relationships connecting them can be represented as STIX objects and imported as such. Before you rely on that, export a sample from Recorded Future, land it in a non-production OpenCTI instance, and check that object types, labels, confidence scores, validity dates and relationships survive the import. Confirm with your team which Recorded Future export formats and import paths you will use, whether that is risk list downloads in CSV or STIX, TAXII collections, or the Recorded Future connector if the feed stays. Also decide who owns the mapping for fields with no direct STIX equivalent, such as proprietary risk scores and internal analyst notes.

Commercial intelligence content does not come across as data that OpenCTI can hold or regenerate. Analyst-written reports, proprietary collection from Recorded Future's own sources, and the risk scoring logic behind exported values stay in the Recorded Future portal or are lost when the subscription ends. An export can carry the resulting indicator or a score snapshot, but it cannot carry the research method, the underlying collection or the ability to re-score historical items. Plan for this in your retention decisions: archive the reports your analysts still cite, record the date and version of each exported risk list, and note which downstream detections depend on scores you can no longer refresh.

Treat the content you lose as a capability gap rather than a data migration task. OpenCTI can host your own analyst reporting, but it will not produce the proprietary collection that Recorded Future gathers, so the question is which open feeds, sharing communities or commercial feeds will cover the same use cases. Ask your team to list the detections, enrichment steps and executive reports that currently depend on Recorded Future, then mark each as migrated, replaced or retired. Any item marked replaced needs a named source before the subscription ends, and any item marked retired needs sign-off from the consumers who rely on it.

Data exports and integrations to rebuild

Moving off Recorded Future is mostly a question of which data paths you rebuild, who owns each one, and which ones stop when the subscription ends. The six paths below cover what leaves the portal, how it reaches OpenCTI, and where it goes after that. Confirm each one against the current documentation before you cut anything over.

Risk list exports in CSV and STIX

Risk lists are the simplest data to carry across. Each export holds indicators with their risk scores and context at the moment you download it, so it is a snapshot, not a live feed. Your team owns the schedule, the storage location and the import step into OpenCTI. Confirm which export formats and file size limits your subscription includes, and whether the STIX output maps cleanly to OpenCTI's STIX 2 model. Expect to re-run exports on a cadence you set yourself.

TAXII collections

TAXII collections deliver STIX content on a pull basis, so they are the closest match to a live feed if you keep the subscription. Whoever holds the TAXII credentials controls what enters the platform, and a polling job or connector must run inside your network. Confirm which collections are included in your contract, the polling interval the service allows, and how deleted or revoked indicators are represented so they do not linger in OpenCTI.

Recorded Future connector and Enrichment connector

OpenCTI connectors run as separate processes that import or enrich data through the platform's message queue. If you keep Recorded Future, the Recorded Future connector brings intelligence in and the Enrichment connector looks up observables on demand, which changes how often you query the service. Your team operates these connectors, so they need patching, monitoring and a restart procedure. Confirm which connectors are current, which version of OpenCTI they support, and what they do when the API is unavailable.

API token handling

Each connector that calls the Recorded Future API uses a token tied to your subscription. Store tokens in your secrets manager, scope them to the minimum needed, and rotate them on a schedule your security team sets. Remember that the token is the entitlement, so a token left in a container image or a shared configuration file is a credential exposure. Confirm the token types your contract issues, how revocation works, and whether usage is logged per token.

SIEM and firewall blocklist pushes

Many teams today push high-risk indicators from Recorded Future into SIEM watchlists or firewall blocklists. After migration, OpenCTI can export indicators to those targets only if you configure a stream or export connector and build the filter that selects what goes out. Your security operations team owns the blocklist content and the rollback path if a false positive blocks a business service. Confirm the export formats each target accepts and the score threshold you use for blocking.

MISP and TheHive links

OpenCTI ships connectors for MISP and TheHive, so indicators can flow to a sharing community or into case management without manual exports. Choose the direction of each link deliberately, because two-way sync can duplicate or overwrite records if identifiers do not match. The platform team owns the connector configuration, and the case team owns what reaches TheHive. Confirm the connector versions you run and test the mapping of indicator types and confidence values on a copy before enabling it in production.

The migration sequence from inventory to decommission

This sequence moves Recorded Future consumers onto OpenCTI in controlled stages, so each feed, indicator and workflow is accounted for before the subscription or its connectors are switched off. Each step ends with a written output that the next step depends on.

  1. Inventory feeds, use cases and consumers

    Your threat intelligence lead, with the SOC and detection engineering teams, lists every Recorded Future product in use, including risk lists, alerts, API calls, STIX or TAXII collections and portal reports. For each item, record the owner, the downstream consumers (SIEM rules, firewall blocklists, EDR, ticketing, analyst workflows) and the data format. The step closes with a signed-off inventory that marks each item as migrate, replace, keep or retire. Confirm the current entitlements and export options with Recorded Future, since they determine what can be extracted.

  2. Size and provision the OpenCTI dependencies

    Your platform engineers prepare the hosting environment for OpenCTI in your own cloud account, data center or air-gapped network. The documented dependencies are Elasticsearch 8.0 or later or OpenSearch 2.9 or later, Redis 7.1 or later, RabbitMQ 3.11 or later and S3-compatible storage such as MinIO. The deployment overview also documents baseline sizing for the platform, search backend and workers, with at least one platform node for every three workers. Confirm the sizing against your expected indicator volume with your own load tests. The output is a documented architecture, a sizing record and a tested backup and restore for each dependency.

  3. Run a pilot deployment with representative data

    A small group of engineers installs OpenCTI, configures authentication (for example SSO through your identity provider), and loads a bounded set of data from the inventory, such as one risk list and one TAXII collection. They connect a test connector, map the STIX objects and verify that relationships, labels and marking definitions survive import. Pilot connectors for Recorded Future should be checked against the current connector documentation before use. The pilot is done when the team has a list of mapping gaps, a repeatable import procedure and a reconciled indicator count against the source export.

  4. Build production connectors and reconcile data

    Platform engineers move the validated import and enrichment connectors into production and set their schedules, credentials and error alerting. They run a full load and compare object counts by type, expiry dates and confidence scores with the Recorded Future exports. Analysts review a sample of high-priority indicators to confirm that context was not lost. Document every field that does not map cleanly, because those become the decisions in the next step. The output is a reconciliation report signed by the threat intelligence lead and a documented connector runbook.

  5. Run a parallel period with both platforms

    For a defined period agreed in advance, consumers keep receiving intelligence from Recorded Future while OpenCTI receives the same data and feeds the test consumers. The SOC compares alert outcomes, enrichment results and blocklist contents between the two sources and logs every divergence with its cause. Open feeds such as those from MISP communities may be added at this stage, with their licensing reviewed first. The step closes when divergences are explained and accepted, and the team has a tested rollback that returns each consumer to its previous feed in a documented procedure.

  6. Cut over consumers one group at a time

    Consumers are moved in groups, starting with the lowest-impact ones, such as dashboards and analyst research workflows, and ending with blocking controls such as firewall and EDR blocklists. Each group has a named owner, a change record and a rollback step. Before a group moves, confirm that its exports or API calls point to OpenCTI and that the format each tool expects is produced. The output is a cutover log showing each consumer, its switch date, its verification result and any rollback that was used.

  7. Decommission the subscription and connectors

    Once every consumer has run stably on OpenCTI through an agreed observation period, the team disables the Recorded Future connectors, revokes API tokens, removes stored credentials from the platform and archives final exports for audit. Procurement confirms the subscription end date and any data retention obligations in the contract. Confirm with Recorded Future what data remains accessible after termination. The step closes with a decommission record covering credential revocation, archived exports, the final reconciliation report and the updated data flow diagram.

Running both platforms in parallel and cutting over

This path keeps the Recorded Future subscription in place and changes only where intelligence is stored, correlated and shared. Recorded Future data flows into self-hosted OpenCTI through its connectors while existing consumers keep reading from the Recorded Future side until each one is moved. Parallel running is the main reconciliation tool here, because both sources describe the same indicators and you can compare what each platform holds for a sample of recent items.

  • Repoint consumers one at a time: Move SIEM rules, firewall blocklists and enrichment lookups to OpenCTI in groups, starting with low-impact consumers, and record which feed each one reads from.
  • Reconcile by sample and by count: Compare indicator counts per type and per source, then check a fixed set of recent indicators in both systems for matching values, labels and validity windows.
  • Keep the old path live during overlap: Leave the original export or API pull running until the new consumer has produced clean results over a period you agree with the security team.
  • Define the rollback trigger: Write down the condition that sends a consumer back to the old path, such as missing indicators or a broken connector, and who has authority to switch it.
  • Watch connector and token health: Track API token expiry and connector errors, since a silent failure on the feed side looks like a quiet platform.

Confirm with your Recorded Future account team which data types and API interfaces your current contract includes, and whether the connector use case is allowed under your terms.

What drives cost and duration, and how to keep each down

This table lists the main drivers of cost and effort when moving from Recorded Future to a self-hosted OpenCTI platform, with what each driver depends on and how to keep it down. Read it as a checklist for scoping and quoting, since the largest one-time items are data mapping and SIEM and blocklist rebuilds, while hosting, connector upkeep and analyst time recur.

DriverWhy it changes cost or effortHow to keep it down
Consumers and integrationsEach SIEM, firewall, SOAR or sharing partner that reads intelligence adds mapping, testing and ongoing maintenance work.Inventory every consumer before scoping and move the highest-value ones first. Retire lists that nobody reads.
Indicator and relationship volumeLarge indicator sets and dense object graphs increase import time, index size and search load on Elasticsearch or OpenSearch.Import only indicators still in use, set expiry rules, and confirm sizing with the vendor for your actual volumes.
Commercial feed retained or droppedKeeping any Recorded Future feed means connector upkeep and a subscription, while dropping it shifts collection and curation work onto your analysts.Decide feed by feed. Ask for connector scope in writing so retained feeds are clearly defined.
Stack sizingThe documented minimums cover the platform (2 cores, at least 8 GB RAM), Elasticsearch or OpenSearch (2 cores, 8 GB RAM, 16 GB SSD), and at least one platform node per 3 workers, and production load can exceed them.Start from the documented minimums, load test with real indicator volumes, and ask the implementer to state the sizing basis in the quote.
LTS versus regular release planningRegular releases ship from daily to weekly, while LTS releases arrive every 6 months and are supported for 1 year, so upgrade effort depends on the line you pick.Pick the LTS line for production and schedule upgrades inside its overlap window. Budget testing for each upgrade.
LTS license key handlingLTS releases need a specific LTS license key, and after one month of stabilization they receive only critical bug and security fixes.Confirm key ownership, renewal terms and who holds the key before go-live. Record the process in the runbook.
Staff skillsOperating Elasticsearch or OpenSearch, Redis, RabbitMQ, MinIO, connectors and STIX 2 data modeling needs skills most intelligence teams do not hold today.Name an owner for the platform, cross-train analysts and ask for knowledge transfer as a line item in the scope.
SIEM and blocklist pushesEvery existing push from Recorded Future to SIEM or firewall blocklists must be rebuilt, tested and checked for false positives before cutover.Map each push to its OpenCTI export or connector path, run both in parallel for a period, and retire the old push only after sign-off.
Data mapping and migrationMapping Recorded Future risk lists and reports into STIX 2 objects and relationships is one-time work that scales with source complexity.Export a representative sample first, agree the mapping in writing, and limit scope to data that must move.
Hosting and upkeepInfrastructure, patching, backups and monitoring recur for as long as the platform runs.Right-size the stack, automate deployments and set a fixed patch cadence tied to the LTS schedule.

What usually goes wrong and how to prevent it

Moving from Recorded Future to OpenCTI tends to fail in the gaps between data, people and operations rather than in the platform itself. The cards below cover the risks we see most often, each with a check to run before cutover. Work through them in order, because the data and consumer risks only surface once the import is underway.

Losing analyst context from reports

Indicators import cleanly, but the reasoning behind them often lived in analyst reports, portal notes and linked finished intelligence. Those narratives rarely map to a single OpenCTI object. Before cutover, list the reports your analysts actually cite, decide which ones become OpenCTI Report objects, and record which context stays in the Recorded Future portal for reference. Confirm with analysts which report types they rely on most.

Duplicate and orphaned indicators

Re-importing the same risk list through a connector and a manual export produces duplicate indicators, and removing a Recorded Future source later can leave orphaned observables with no owning feed. Assign a single source of truth per indicator type, and tag imported objects with their origin so they can be filtered and retired. Run a reconciliation query after each import batch and compare counts with the source export.

Consumers still pointing at the old feed

SIEM rules, firewall blocklists and enrichment scripts often hold direct references to Recorded Future API endpoints, tokens or CSV download paths. These keep working until the subscription lapses, then fail quietly. Inventory every consumer before cutover, switch each one to an OpenCTI export or stream, and keep the old feed running in parallel until each switch is verified.

Unplanned Enterprise Edition needs

Community Edition covers the core platform under Apache 2.0, but some requirements, such as audit logs, playbooks, organization-based segregation, AI insights and SSO options, are listed as Enterprise Edition features under a separate license. If your access policy requires audit trails or SAML and LDAP sign-in, check these against the Enterprise Edition documentation before you design the target state. Ask the vendor to confirm licensing for your use case in writing.

Release and LTS lifecycle drift

OpenCTI ships non-LTS releases often, while LTS lines receive only critical and security fixes after an initial stabilization period. Running a non-LTS build in production, or letting an LTS line expire, creates upgrade debt that grows quickly. Choose an LTS line for production, confirm you hold the required LTS license key, and schedule a recurring upgrade window tied to the published life cycle.

Underestimating sizing and dependency upkeep

OpenCTI depends on Elasticsearch or OpenSearch, Redis, RabbitMQ and S3-compatible storage, and each needs patching, backup and capacity planning. Sizing guidance starts with a platform node of 2 cores and at least 8 GB RAM, and the search tier should be sized for your indicator volume, not the minimum. Ask your implementation partner for a sizing estimate based on your actual feed volume, and budget for ongoing dependency upkeep in the operating plan.

Choosing OpenCTI release tracks and licensing before go-live

Before the cutover date, decide which OpenCTI release track your team will run and confirm the license basis for it. OpenCTI uses date-based version numbers: regular releases follow the pattern x.YYMMDD.z, and LTS releases follow x.YYMMDD.z-lts.n, where the date is the release or LTS branching date. Non-LTS releases ship when they are ready, from daily to weekly, which suits teams that want new connector and platform fixes quickly and can absorb frequent upgrades. LTS releases arrive about every six months, and each is supported for one year, so consecutive LTS versions overlap by six months. That overlap gives you a planned upgrade window rather than a forced one. Use the OpenCTI product life cycle documentation to map the current LTS dates against your migration plan.

The LTS track has a licensing condition that many migration plans miss. LTS container images require a specific LTS license key, and after a one-month stabilization period they receive only critical bug and security fixes. If you choose LTS, ask Filigran in writing which key covers your deployment, who holds it, how it is rotated, and what happens to the image pull and the running instance when the key or support window lapses. Then separate the two editions. Community Edition is licensed under Apache 2.0, while Enterprise Edition uses the proprietary OpenCTI Enterprise Edition License and adds features such as audit logs, playbooks, organization-based segregation and SSO options. If your Recorded Future replacement depends on any of those features, confirm with Filigran whether they are in scope for your edition before you design around them.

Make the track decision a checklist item with an owner, not a default. Record the chosen track, the license key holder, the Enterprise features you need, and the date by which an upgrade must be scheduled. Plan for the upgrade path in the same document, including a test instance on the next release before production moves. Ask your Filigran contact to confirm the terms in writing, because the public documentation describes the tracks and feature set but cannot settle what your contract allows. Verify the current LTS line on the OpenCTI releases page on the day you freeze the design, since release numbers change quickly.

Questions buyers ask before migrating from Recorded Future to OpenCTI

How much effort does a move from Recorded Future to OpenCTI take?

The effort depends on how much of Recorded Future you use and how much of it you intend to keep. A team that only consumes indicators into a SIEM has a smaller job than one that relies on Recorded Future's reports, alerts, analyst notes and API-driven enrichment across many workflows. The main drivers are the number of data types in scope, the number of downstream systems that read indicators today, the volume of historical data you want to keep, and whether your analysts need to be retrained on a new interface. OpenCTI is built on the STIX 2 standard and exposes a GraphQL API, so mapping and integration work is real engineering effort. Ask any partner to break the estimate down by data type, connector and downstream consumer, in writing, before agreeing a scope.

How long does migrating from Recorded Future to OpenCTI take?

The timeline varies with scope, the state of your current intelligence workflows and how much platform work your team must absorb. A deployment that is only a platform layer with a few inputs and outputs is far shorter than a rebuild that moves reports, relationships and integrations together. Parallel running also adds time, because you need both platforms feeding your controls until the new one is trusted. Infrastructure is a factor too: OpenCTI depends on Elasticsearch or OpenSearch, Redis, RabbitMQ and S3-compatible storage such as MinIO, and standing those up in your environment, through your change process, sets the pace. Expect a timeline to be set only after scope is agreed, and ask for milestones tied to specific data flows.

What does the migration need from our own team?

Your team needs to supply decisions and access as much as technical hands. Someone must own the list of intelligence consumers, such as SIEM, firewall and EDR integrations, and confirm which ones change. Your platform or infrastructure team needs to provide the hosting environment, container and orchestration standards, identity integration and backup targets. Your security team must decide which Recorded Future data types matter and who validates the migrated content. OpenCTI's Enterprise Edition features such as audit logs, organization-based segregation and SSO for OpenID, LDAP, SAML or certificate authentication may affect access design, so identity owners should be involved early. Plan named owners for each area before the work starts.

Can we do the migration in-house instead of hiring a partner?

Yes, many teams can do it in-house if they have the skills for the stack. The work covers platform deployment and sizing, STIX 2 data modelling, connector configuration, GraphQL-based integration, authentication, backup and upgrades. OpenCTI publishes a deployment overview and a product life cycle, and its releases come in regular and LTS lines, with LTS releases requiring a specific license key. Those upgrade rhythms create recurring work. The honest test is whether your team can carry the platform for its full life, not only the first deployment. A partner such as DeployOpen can plan, implement, integrate, harden, back up, upgrade and document the platform under a fixed-scope agreement, or provide ongoing support as a retainer.

Do indicators and reports transfer from Recorded Future into OpenCTI?

Indicators and relationships are the most portable, and reports need more care. OpenCTI structures data on the STIX 2 standard, and Recorded Future data exported in STIX or CSV can be mapped to that model, so indicators, their observables and many relationships can be loaded with the right transformation. Reports are harder because their value often lies in analyst narrative, context and source handling, which may not survive a bulk export intact. Confirm with Recorded Future exactly which interfaces and formats your subscription allows you to export, and check the export terms before you plan the move. Test a sample set of each data type end to end before committing to a full load.

Can we keep a Recorded Future feed flowing into OpenCTI?

Yes, if your Recorded Future subscription and licence terms allow it, you can keep the feed and connect it to OpenCTI. OpenCTI has connectors for MISP, TheHive and MITRE ATT&CK, and the connector ecosystem is where a Recorded Future data source would be wired in, so confirm the connector status and maintenance with the vendor or the project before you depend on it. This option changes what you pay for: you keep the intelligence and the API access you need, but you may still need a Recorded Future subscription, and you still operate the platform that stores and shares the data. Ask for the exact entitlement and API token handling in writing.

What can OpenCTI not replace from Recorded Future?

OpenCTI is a knowledge and sharing platform, so it cannot replace Recorded Future's proprietary collection, its analyst-authored reporting or its own enrichment and risk scoring. OpenCTI stores, correlates and shares the intelligence you bring into it, and it can use MITRE ATT&CK through a connector, but the underlying collection sources are not part of the open-source platform. Analyst reporting is produced by people with access to sources you may not have. Plan for these gaps explicitly: either keep a commercial feed, subscribe to community or open sources, or accept reduced coverage in specific areas. Compare what each source contributes, not only the platform price.

What should we ask a partner before agreeing a migration scope?

Ask for a written scope that names each data type, each connector, each downstream consumer and each platform component that will be deployed. Ask how the partner will handle OpenCTI's dependencies, including Elasticsearch or OpenSearch, Redis, RabbitMQ and S3-compatible storage, and how sizing will be documented against the vendor's deployment overview. Ask which Recorded Future interfaces will be used for export, how credentials and API tokens will be stored, and how Enterprise Edition features will be licensed if you need them. Ask who will support upgrades across OpenCTI's regular and LTS releases. Clarify whether DeployOpen would prepare evidence for a compliance assessment, which it does without issuing any audit report or certification.

How DeployOpen would scope the work with your team

DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted OpenCTI inside your own infrastructure, whether that is your cloud accounts, data centers or an air-gapped network. Most engagements are fixed-scope, so the systems, connectors, deliverables and timelines are agreed in writing before work starts. For a migration like this, the scope is not fixed at the outset. It follows from two inputs: an inventory of what Recorded Future data you actually use (risk lists, STIX or TAXII collections, API-driven enrichment, saved searches, and the reports analysts rely on) and the results of a pilot that loads a representative slice of that data into OpenCTI.

The inventory tells us which data must move, which can be replaced with open feeds, and which stays in the Recorded Future portal. The pilot tells us what the platform needs in practice. Expect the written scope to cover the OpenCTI deployment on the dependencies named in the deployment documentation (Elasticsearch or OpenSearch, Redis, RabbitMQ and S3-compatible storage), the connector set for each feed you keep, the authentication model, including SSO if your Enterprise Edition licensing covers it, backup and restore testing, and the handover documents your operations team will use. Confirm with Filigran whether your intended OpenCTI edition and any Enterprise features you need are licensed for your deployment model before the scope is signed.

A quote follows from the written scope. DeployOpen does not publish a price list, so ask for the quote to show the components separately: the pilot, the build and integration work, hardening, the documentation and any ongoing retainer for upgrades and support. Ask how each component changes if the inventory finds more feeds or more legacy integrations than expected. Your team should decide early who owns the Recorded Future API tokens, who approves changes to connectors, and who signs off the pilot results, because those decisions set the boundaries of the scope.

How DeployOpen runs the migration

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure. For a move from Recorded Future to OpenCTI, we start with a written scope that separates what OpenCTI will hold from what stays in the Recorded Future portal or with another provider.

How we scope

  • Inventory which Recorded Future data types you use: indicators, reports, risk lists, and alerts, and which consumers depend on each.
  • Decide which connectors stay in the migration, and which feeds or analyst workflows remain outside OpenCTI.
  • Agree deliverables, timelines and responsibilities in writing before work starts, since engagements are fixed-scope.

How we build

  • Deploy OpenCTI with its platform, workers, connectors, Elasticsearch or OpenSearch, Redis, RabbitMQ and MinIO in your environment.
  • Map Recorded Future entities to STIX 2 objects and test imports, relationships and deduplication against sample data.
  • Configure authentication, organization-based segregation and access rules, then test them against your identity provider.

How we hand over

  • Document the architecture, connector configuration, data mapping, runbooks and the decisions made during scoping.
  • Provide a handover session covering operation, upgrades, and how the chosen LTS or regular release line is maintained.
  • Record what did not move, such as proprietary collection and analyst reporting, so your team knows where intelligence now comes from.

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer after handover.
  • Plan OpenCTI version upgrades against the published release and life cycle schedule, with testing before each change.
  • Ask any quote to itemize platform hosting, connector upkeep, testing and support so the recurring costs are visible.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.