OpenCTI and Splunk integration

Teams that want OpenCTI indicators available to Splunk lookups and correlation searches need a stream connector, a clear entity type scope and a sized consumer. This page covers how to plan and verify that path.

On this page

How the OpenCTI and Splunk integration moves indicators into KV Store lookups

The OpenCTI and Splunk integration is a stream connector in the OpenCTI connector catalog that writes selected indicators into the Splunk KV Store, where correlation searches can read them as lookups. Confirm the exact connector name and minimum OpenCTI version in the OpenCTI connectors repository before you plan the work. OpenCTI structures its data on the STIX2 standards and exposes it through a web application and a GraphQL API. In a standard deployment, connectors take several roles, including import, enrichment, file extraction, export and stream consumption. This integration sits in the stream consumption role, so it receives changes from the platform as they happen.

The data path has four steps. The OpenCTI platform emits a stream event whenever an object is created, updated or deleted. The stream connector subscribes to that feed, applies the filters you configure, and maps the STIX fields of each indicator to the columns of a KV Store record. It then writes the record to a Splunk KV Store collection through the Splunk REST interface. Before you go live, confirm how the connector handles deletions and revoked indicators, since a lookup that keeps stale values will continue to match traffic against indicators the intelligence team has withdrawn. Test this path first with a narrow filter on a non-production Splunk instance.

The KV Store collection is the contract between this integration and your detection content. Decide the schema before the first write. The indicator value, its type, a score or confidence field, the TLP marking, a validity or expiry field and a source reference are common choices, but the field names must match what your correlation searches expect. Keep the record to fields your searches use, since a wider collection costs more to store and to query. Confirm which Splunk app owns the collection and who holds read and write permissions. The connector's Splunk account needs write access, while most searches need read access only. Record these decisions in the planning document so later changes are traceable.

Plan for failure in three places. The stream depends on the OpenCTI platform and its message queue, so an upstream outage stops new indicators from arriving, and Splunk shows no error for that gap. The writes depend on the health of the Splunk KV Store and on the connector's Splunk account, which can fail after a credential rotation. Stream consumption also adds work to the OpenCTI platform. The documented sizing recommends at least one platform node for every 3 workers, so confirm the worker count and platform capacity before you enable a high-volume filter. Set alerts on the connector's log output and on the age of the newest record in the collection, so a silent stop is found early, before an investigation depends on it.

What the OpenCTI and Splunk integration needs before configuration starts

These prerequisites sit on both sides of the connector. OpenCTI supplies the indicators, Splunk stores them for lookups and correlation searches, and the connector host carries traffic between the two. Confirm the required OpenCTI version and the Splunk REST and KV Store permissions in the connector documentation and your Splunk admin guide before you start configuration.

Working OpenCTI platform

The connector pulls indicators from a running OpenCTI platform, so the UI, GraphQL API and worker pool must be healthy and reachable before anything else is set up. The documented sizing starts at 2 cores and at least 8 GB RAM for the platform. Confirm enough Python workers are running as well, since the documentation recommends at least one platform node for every 3 workers.

Documented OpenCTI dependencies

OpenCTI depends on Elasticsearch 8.0 or OpenSearch 2.9 or later, Redis 7.1 or later, RabbitMQ 3.11 or later, and S3-compatible storage such as MinIO. Each component must be deployed, sized and backed up in your infrastructure before the connector is configured. The documentation gives the search backend a starting point of 2 cores, 8 GB RAM and 16 GB SSD. Confirm these versions against the OpenCTI release you run, since requirements can change between releases.

Splunk service account and KV Store

Create a dedicated Splunk service account for the connector and scope its roles to the app and KV Store collection that will hold the indicators. Lookups and correlation searches read from that collection, so a wrong app context or collection name later shows up as empty search results. Confirm the REST and KV Store permissions the connector requires, and record who is allowed to rotate the account credentials.

Network paths to both platforms

The connector host needs a path to the OpenCTI platform and a path to the Splunk REST management interface. Test both paths from that host itself, because firewalls, proxies and DNS rules often differ between the host and an administrator's workstation. Confirm which ports and protocols the connector uses, verify TLS certificate trust on each path, and agree in advance who owns the firewall change request.

Community or Enterprise Edition

OpenCTI Community Edition is licensed under Apache License 2.0, and Enterprise Edition is governed by a proprietary license. Since OpenCTI 7.260224.0, defining and using authentication strategies, including SSO, is an Enterprise feature. Decide before configuration which features your team needs, such as SSO, audit logs or organization-based data segregation, because that choice affects the login design and the license you need. Ask Filigran or your implementation partner to confirm current feature availability.

Choosing which OpenCTI entity types reach Splunk

Entity type scope is the first decision to settle, because it determines what reaches the Splunk KV Store and therefore what your correlation searches can match. Indicators are the natural starting point for lookups, since each one carries a value or pattern that a search can compare against events. Observables, reports, incidents and other entity types serve different questions. Reports and incidents describe analyst work, and observables can be numerous, so exporting them by default can grow the KV Store quickly and add records that no detection ever reads. Treat the export scope as a deliberate allow list that follows detection needs, and document why each entity type is included.

Build the allow list from detection use cases, starting with the questions each Splunk search must answer. Write each use case as a plain question, such as whether a domain seen in proxy logs appears in threat intelligence, or whether a file hash from endpoint telemetry matches a known sample. For each question, record the entity type that carries the value, the field the search will compare, any labels or markings that must be present, and the person who will review and retire the entry. As an illustrative example, a proxy domain lookup might need domain-name indicators filtered by a confidence threshold your team sets. Review the list with the owners of those detections before the first export.

Indicators and observables are related but distinct. In STIX 2, an indicator carries a pattern that describes conditions on cyber observables, such as a domain name or file hash, so the pattern points to the observed values it describes. OpenCTI follows the STIX 2 knowledge schema, so an indicator is linked to the observables it describes, and an observable can exist without any indicator. A lookup needs a plain value to match, so confirm whether the connector exports the pattern string, the observable value, or both, and which fields arrive in Splunk for your connector version. A pattern alone may need parsing before it matches raw events. Decide separately whether observables without an indicator belong in the allow list, because including them widens matches and inflates the KV Store.

Keep one lookup per use case. A single shared table makes it hard to trace which detection produced a match, to set different retention for different use cases, or to remove one use case without touching the others. Name each KV Store collection and its lookup definition after the use case, and map each one to its allow list entry. Before going live, validate the list against your own detections: run existing correlation searches with and without the new lookup in a test environment, and confirm which entity types and fields actually arrive in Splunk. Treat this list as a starting point that still needs validation against your detections and against what the connector exports in your environment.

Configuring the OpenCTI stream connector for Splunk step by step

This sequence moves the OpenCTI stream connector from a write-only Splunk token to scheduled production writes into a KV Store collection. Each step ends with a check, so problems appear in a narrow test before the filter reaches correlation searches. Confirm every setting name against the connector documentation for your release.

  1. Create a dedicated Splunk role and token

    A Splunk administrator creates a role that can write only to the KV Store collection the connector will use, then issues a token bound to that role for the connector. Do not reuse an administrator account or a shared service token, because a leaked token should not expose other indexes or settings. Confirm the exact role capabilities and token options against the connector documentation and your Splunk version. Done when a test write with the token succeeds against the collection and a read or write to any other object is refused.

  2. Create the collection and its fields

    The Splunk administrator creates the KV Store collection, defines its fields, and sets up any lookup definition the searches need. Field names should match the indicator attributes the connector sends, so agree the schema with the team that writes correlation searches before anything is loaded. Confirm field names, types and collection options against the connector documentation. Done when the collection appears under the lookup settings, a manually inserted test record can be read back, and the schema is recorded in your change ticket.

  3. Deploy the connector with a narrow filter

    The platform or integration team deploys the stream connector in a non-production environment, pointing it at the test Splunk instance and the dedicated token. Set the entity filter to a narrow slice, for example one entity type and one high-confidence label (illustrative), so volume stays small and any mistake is easy to trace. Confirm the filter option names in the connector documentation before you save them. Done when the connector starts with the test settings and the filter matches only the intended objects in a review of the sample.

  4. Confirm the connector registers and runs healthy

    Open the connector view in OpenCTI and confirm that the connector has registered with the platform and shows as active. Review its logs for a clean start with no repeated errors and no authentication failures against Splunk. Confirm the status fields and log messages against the connector documentation, since labels can change between releases. Check that the connector identifier matches your deployment configuration so you are reviewing the right instance. Done when the connector stays healthy through an observation period in the test environment.

  5. Confirm records land with expected fields

    Query the KV Store collection from Splunk and compare the records with the objects the filter selected in OpenCTI. Confirm that the expected fields are populated, that values match their source objects, and that no unexpected entity types appear. Check the connector documentation for how it handles updates and revoked indicators, and test one of each if the connector supports them. Done when a sample of records matches the OpenCTI objects field for field, and any mismatch has been traced to a mapping or filter fix.

  6. Widen the filter in controlled increments

    Widen the filter one step at a time, adding one entity type or relaxing one condition per change. After each increase, record the record count and the collection behavior, and keep the previous filter available so you can roll back. Watch for duplicate records, growth in the collection that affects search performance, and signs that the consumer cannot keep pace with the stream. Confirm the filter option names against the connector documentation before each change. Done when every increment passes the same health and record checks and the filter covers the scope your correlation use case needs.

  7. Enable scheduled production use

    Move the validated configuration to production with the production Splunk endpoint and a production token created with the same write-only scope used in testing. Enable the connector on its scheduled run, and set up alerts for connector health and for unexpected growth in the collection. Confirm the scheduling and alerting options against the connector documentation. Done when production records appear in the collection, a correlation search returns results from them, and the team has a written rollback procedure.

How OpenCTI indicator fields map to Splunk KV Store fields

This table compares each OpenCTI indicator attribute with the Splunk KV Store field it typically becomes in a lookup, and notes the normalization to plan for. Treat the field names as illustrative starting points, since the connector configuration determines the final names and values. Confirm every row against your connector settings and a test export before you build correlation searches on them.

OpenCTI field or STIX propertySplunk KV Store fieldPurpose in a lookupNotes on normalization
Pattern value (STIX pattern)ioc_value (illustrative)Holds the match string that searches compare against eventsPattern syntax wraps the value; plan a value-only field for lookups and keep the full pattern for reference.
Indicator type (indicator_types)ioc_type (illustrative)Lets searches filter by IP, domain, hash or URLSTIX type values are open vocabulary; map them to a short fixed list that your searches expect.
Valid from and valid untilvalid_from, valid_until (illustrative)Supports expiry checks so stale indicators stop matchingStore both as ISO 8601 or epoch consistently; confirm timezone handling in a test export.
Labelslabels (illustrative)Adds context such as campaign or malware family for triageMultivalue handling varies by search; choose one delimiter and document it for the team.
TLP marking (object marking)tlp (illustrative)Lets searches and sharing rules respect the handling levelNormalize marking names to one case and spelling before filtering or exporting records.
Confidenceconfidence (illustrative)Lets correlation rules set thresholds by scoreConfirm the scale in your OpenCTI version; keep the raw number and avoid silent rescaling.
OpenCTI identifier (id)opencti_id (illustrative), used as the _keyLets the connector update or delete the same KV Store recordUse the identifier as the record key so updates and revocations match the original indicator.

Sizing the consumer and the OpenCTI platform for stream traffic

Start sizing with the documented OpenCTI baseline, then treat it as a floor. OpenCTI's deployment overview gives the platform 2 cores and at least 8 GB RAM. It gives Elasticsearch or OpenSearch 2 cores, 8 GB RAM and 16 GB SSD, and it recommends at least one platform node for every 3 workers. These figures describe a platform that runs without streaming a Splunk feed, so they do not size the stream by themselves. Check them against the deployment overview for the exact release you plan to run, because the release line you choose can change the requirements for workers and search storage.

The consumer's load follows from four drivers. The first is the number of indicators that match your stream filter, since that sets the size of the initial backfill. The second is the rate of change: creates, updates and deletions each produce work for the consumer and for Splunk, and deletions must reach the lookup or stale indicators will remain searchable. The third is Splunk's indexing and KV Store write capacity. The fourth is the connector host's CPU and memory, which the consumer uses to read, transform and forward each indicator. Filters that match broadly, or feeds that update the same indicators often, raise load even when the total count looks modest.

No Splunk-side sizing figures are supplied for this page, so the Splunk side needs its own check. Ask your Splunk administrators to confirm the KV Store write and storage headroom on the search head that hosts the lookup, the indexer capacity for any events they will index, and the search load that correlation searches will place on the lookup. Confirm these limits in Splunk's own documentation and in your environment, not from this page. Record the answers as acceptance thresholds, so the stream design has a clear limit before anyone changes the filter.

Load test with your own indicator volume before you enable the stream in production. Run a full backfill from a copy of the production indicator set, then simulate the daily change rate that your filter produces. Measure the backfill duration, the steady-state lag between an OpenCTI change and its appearance in Splunk, the worker backlog on the message queue, connector CPU and memory, and KV Store write latency. If lag grows or the backlog does not drain, add workers or platform nodes using the one-node-per-3-workers guidance, then retest. Agree on the rollback steps for a consumer that falls behind before the first production run.

Securing the OpenCTI to Splunk connection

The stream connector holds credentials for both OpenCTI and Splunk, and it carries intelligence that may be restricted. The six controls below limit what the connection can reach, protect the secrets it uses, encrypt its traffic, and leave a record of what was written and by which identity.

Least-privilege Splunk account

Create a dedicated Splunk user whose role can write only to the KV Store collection that holds the indicators, with no search, administrative or other index rights. Confirm the exact capabilities the connector needs in its documentation before granting them, then test that the account is refused on any other collection. Review the role whenever the target collection changes.

Secret storage for credentials

Keep the OpenCTI API token and the Splunk credential in the secret mechanism the connector supports, and out of configuration files that enter version control or readable environment files on disk. Restrict which administrators can read that store, and rotate both credentials on a schedule your security team sets. Confirm with the connector documentation which secret sources it reads natively.

TLS with certificate validation

Encrypt traffic to both the OpenCTI GraphQL API and the Splunk REST management endpoint, and keep certificate verification enabled so the connector rejects untrusted or mismatched certificates. If your organization uses an internal certificate authority, make sure the connector host trusts it and plan renewal before expiry. Disabling verification to get a test running is a common way this link ends up unprotected.

Network segmentation to Splunk

Allow only the connector host to reach the Splunk REST endpoint that accepts KV Store writes, and block that path from analyst workstations, other servers and external networks. Where your design allows, keep OpenCTI's own services off the network segment that hosts Splunk. Test the rules from other hosts, not only from the connector host, and record the expected results in your change records.

TLP filtering before data leaves

Configure the stream filter so that only indicators carrying TLP markings your sharing agreements allow for Splunk leave OpenCTI. Restricted-marked data should fail the filter and remain inside the platform. Test with sample records marked at each TLP level, and review the filter whenever your marking policy changes. A filter only protects data it can match, so confirm that marking is applied consistently at import.

Audit logging on both sides

Retain connector logs, the Splunk audit trail for the connector account and the changes made to the KV Store, and OpenCTI activity records, so each write can be traced to a specific identity. Forward these logs to a store your security team controls. OpenCTI audit logs and organization-based segregation are Enterprise Edition features, so confirm they are included in your license before relying on them.

Common OpenCTI and Splunk integration failures and their fixes

This table lists the failures teams most often meet when streaming OpenCTI indicators into Splunk, with the likely cause and first fix for each. Use it as a starting point, then confirm exact messages and settings against the connector's logs and documentation for your version. Most failures trace back to connectivity, permissions, naming or volume, so check them in that order.

SymptomLikely causeFix
Connector shows unhealthyThe connector cannot reach the OpenCTI API or its RabbitMQ broker, often because of a wrong URL, an invalid API token, or a network or TLS rule between the connector host and the platform.Check the connector logs for connection errors, confirm the platform URL and API token in the connector configuration, and test reachability to the API and RabbitMQ ports from the connector host. Confirm RabbitMQ credentials and virtual host against your deployment.
No records written to SplunkThe Splunk token lacks write permission on the KV Store collection, or the collection name in the connector does not match the collection that exists in Splunk.Confirm the account or role behind the token can write to the target KV Store collection, and compare the collection name character for character in the connector settings and in Splunk. Confirm required capabilities in Splunk's documentation for your version.
Records appear but lookups return nothingField names or value case differ between what the connector writes and what the lookup definition or search expects, such as an indicator value stored in mixed case.Compare a written record with the lookup definition field by field, align field names exactly, and normalize value case on the side that will be matched. Test the lookup with a known indicator from OpenCTI before wider use.
Stale indicators remain after expiryThe connector may not process update or delete events for indicators that expire or are revoked in OpenCTI, so the Splunk collection keeps records that should no longer match.Confirm which event types the stream connector handles in your version. Test an expiry or revocation in a non-production instance and check whether the record is removed. If the connector does not handle these events, plan a scheduled review or cleanup of expired records.
Queue backlog on the connector hostIndicator volume from the selected entity types exceeds what the consumer can write to Splunk, so messages accumulate in the RabbitMQ queue and the host runs short of memory or CPU.Narrow entity types, labels or confidence filters to the records Splunk needs, then size the consumer host against observed throughput. Watch queue depth and host resource metrics during a controlled load test before enabling the full feed.
Duplicate records from repeated importsRestarting the connector, replaying the stream, or running a bulk import alongside the live stream writes the same indicator more than once when the write has no stable key for updates.Confirm whether the write uses a stable key that updates existing records. Clear duplicates once, and avoid running a bulk import on top of the live stream without a deduplication step. Verify this behavior against the connector documentation for your release.

How to test Splunk lookups and correlation searches before alerting

Test the whole chain in a non-production OpenCTI instance before any correlation search can page someone. The stream connector writes indicators into a Splunk KV Store collection, and a broken write looks the same as a quiet threat landscape. Start by creating one known test indicator with a recognizable value and a single entity type you have already chosen to export. Use a clearly fictitious value, such as an address from a documentation range (illustrative), so nobody mistakes it for live intelligence. Then confirm, in the KV Store collection, that the record exists with the fields your lookup definition expects, such as the observable value, the type, the score and the labels. Check field names against your own connector configuration rather than against this page.

Next, test the lookup on its own. Run a search that calls the lookup definition with the test value and confirm it returns the expected fields. Run it again with a value that is not in the collection and confirm it returns nothing. Only then build the correlation search, and run it against sample events that contain the test value. Replayed events from a test index work well for this. Record what the search returns: the number of matches, the fields in each result, and whether the alert fires once or repeatedly. Repeated firing usually points to throttling or deduplication settings that need a decision before production, not after the first noisy week.

Expiry and deletion need their own tests because a record that stops being current can keep matching for as long as it remains in the collection. Create a test indicator with a short validity window and confirm which component removes or filters it: the connector, a scheduled Splunk search, or the lookup query itself. Then delete or revoke the test indicator in OpenCTI and confirm the removal reaches the collection. Finally, create indicators and observables of every entity type you excluded in the connector filter, and confirm none of them appear in the KV Store or return from the lookup. A filter that works for one type can silently fail for another, so test each excluded type individually.

Write down the expected result for every test, including the test indicator values, the event samples and the expected alert count, and keep them in version control next to the Splunk configuration. Rerun the full set after each OpenCTI upgrade and after any connector change, because platform releases and connector versions move independently. Non-LTS OpenCTI releases can ship from daily to weekly, and LTS lines are published every six months. Confirm with your team who owns the test set, who reviews failures and whether a failing test blocks a change from reaching production.

Questions buyers ask about OpenCTI and Splunk integration

What does an OpenCTI and Splunk integration cost to build?

Cost follows the written scope, and DeployOpen does not publish a price list. The quote covers DeployOpen's planning, configuration, testing, documentation and handover work for the entity types, Splunk use cases, identity and network work and testing depth you agree on. Splunk licensing, Splunk infrastructure and OpenCTI hosting stay with you. Ask for a quote that separates one-time build work from any recurring retainer for support, upgrades or continuous testing. The main cost drivers are how many entity types flow into Splunk, how many correlation searches and lookups depend on them, how much identity and network setup is needed, and how deeply the integration is tested before go-live.

How long does it take to connect OpenCTI to Splunk?

The timeline depends on the agreed scope and on how quickly your team unblocks the work, so ask for a written schedule rather than a generic duration. The most common delays come from waiting for Splunk admin access, not having a test environment that resembles production, and not having named detection owners available to approve use cases. Network paths between OpenCTI and Splunk, and any identity changes, add time when firewall rules or access approvals run through other teams. If you plan to use OpenCTI single sign-on, note that defining authentication strategies is an Enterprise Edition feature from OpenCTI 7.260224.0, so confirm the licensing position with Filigran before scheduling that work.

What must our team provide before integration work starts?

Your team provides access, data and decisions. Splunk admin access is needed to create the KV Store collections, lookups, saved searches and any role or permission changes. A test environment should mirror the production indexes, roles and apps closely enough to test lookups and correlation searches safely. Sample indicator data exported from OpenCTI lets the team check filters, field mapping and volume before anything reaches production. Detection owners must name the use cases, confirm which entity types matter, and approve the alerting logic. Finally, an OpenCTI administrator should confirm which indicators are in scope, including labels, confidence and TLP handling, so the Splunk side receives only what detections need.

Can an internal team build the OpenCTI to Splunk integration alone?

An internal team can build it alone if it already has the right skills and time. The work spans Splunk administration (KV Store, lookups, saved searches, roles and performance), OpenCTI administration, familiarity with STIX 2 concepts such as indicators and observables, and Linux and container operations for the OpenCTI side. OpenCTI depends on Elasticsearch or OpenSearch, Redis, RabbitMQ and S3-compatible storage, and the connector and workers must run reliably, so someone must own that platform as well. Network and identity work is often the slowest part. Many teams split the work, with internal staff owning detections and an outside partner handling connector configuration, sizing and testing. Ask any partner to show how the work will be handed over.

Does DeployOpen issue compliance attestations for this integration?

No. DeployOpen does not issue audit reports, attestations or certifications. DeployOpen can prepare the integrated system, the configuration, access controls and evidence that an assessment will examine, such as documented data flows, change records and test results. Independent auditors and certification bodies perform the assessment and issue any report or certificate. Before the work starts, ask your auditor which evidence they expect for the threat intelligence flow into Splunk, and include those items in the written scope so the deliverables match what the assessor needs.

What does a fixed-scope engagement cover for this integration?

A fixed-scope engagement covers the scope, deliverables and timeline agreed in writing before work begins. For this integration, the written scope should name the OpenCTI entity types to be sent, the Splunk use cases and lookups in scope, the identity and network work included, the depth of testing, the documentation to be handed over and the training or knowledge transfer your team receives. It should also state what sits outside the scope, such as Splunk licensing, OpenCTI hosting changes or ongoing operations. Ongoing support, upgrades and continuous testing are available as separate retainers, so ask how each would be priced and what triggers a change request.

How do I size the Splunk consumer for OpenCTI indicators?

Size the consumer from the indicator volume that survives your filters, not from the full OpenCTI graph. Start by measuring how many indicators each entity type produces after score, label, validity and TLP filters are applied. Then estimate how large the Splunk lookup or KV Store collection becomes, how often it is refreshed, and how many correlation searches read from it on each run. Test these numbers in the test environment using sample data, and watch search run times, KV Store behavior and indexing load under a realistic refresh cadence. Confirm the stream connector's own resource needs and the OpenCTI worker capacity with your OpenCTI documentation and vendor before you finalize the design.

Which OpenCTI entity types should flow into Splunk?

Send only the entity types that a Splunk detection or lookup will actually use. Indicators and observables tied to a defined detection use case are the usual starting point, filtered by confidence, validity, labels and TLP so that low-quality or restricted items stay in OpenCTI. Reports, intrusion sets and malware objects are useful for analysts, but they usually belong in an enrichment or context lookup rather than in a high-volume alerting collection. Map each entity type to a named Splunk use case and a detection owner. If a type has no owner or no use case, leave it out of the first release and revisit it after testing.

How DeployOpen scopes, delivers and supports the OpenCTI and Splunk integration

DeployOpen plans and builds the OpenCTI and Splunk integration inside infrastructure you control, from the OpenCTI platform and its dependencies to the stream connector that feeds Splunk. Engagements are fixed-scope, with the scope, deliverables and timeline agreed in writing before work starts.

How we scope

  • Written scope names the OpenCTI version, deployment target and Splunk instance the integration will connect to.
  • Scope records which indicator and observable entity types flow to Splunk and which stay inside OpenCTI.
  • Scope confirms the Splunk KV Store lookups and correlation searches the consuming team needs before build starts.
  • Scope states whether the OpenCTI Enterprise Edition license is required for the features your team plans to use.

How we build

  • Connector configuration is set up in a non-production environment first, then promoted once indicator flow is verified.
  • Entity type filters and score thresholds are applied in the stream connector so Splunk receives only agreed content.
  • Splunk consumer capacity is sized against the indicator volume and lookup behavior confirmed during scoping.
  • Test cases cover indicator creation, update, revocation and expiry so stale indicators do not persist in lookups.

How we hand over

  • Handover includes the deployed connector configuration, filter rules and the Splunk KV Store collection design.
  • Runbooks describe how to add or remove entity types, rotate credentials and restart the connector safely.
  • Documentation records the verification steps used, so your team can repeat them after future upgrades.
  • Knowledge transfer sessions walk your Splunk and OpenCTI administrators through daily checks and failure symptoms.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Retainer support can cover OpenCTI version upgrades, including checks on connector compatibility with each release.
  • Upgrade planning reviews the OpenCTI product life cycle, including LTS license requirements, before each change.
  • Confirm with DeployOpen during quoting which support hours, response terms and upgrade scope the retainer includes.

Sources and further reading

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.