SOAR RFP questions

A structured set of questions for judging a SOAR implementation partner on playbooks, Shuffle apps, credentials, testing and scaling, with what a strong answer contains and the answers that should stop the evaluation.

On this page

SOAR RFP questions to ask before you hire an implementation partner

A security team choosing who will build and run self-hosted Shuffle playbooks needs a short list of questions, a clear picture of what a good answer contains, and a set of red flags to watch for. This page covers those three things for the partner decision. Start with a written scope that names the alert sources, the first playbooks, the tools that need connectors or OpenAPI apps, and who approves destructive actions. Vendors can only respond consistently if they answer the same scope. Then shortlist a small number of partners, score their written responses against the same criteria, and ask each finalist for a test playbook or a live walkthrough before award. DeployOpen is one of the partners you may assess, and the questions below apply to it in the same way as to any other firm.

Ask which playbooks the partner would build first and how they would measure them. A strong answer ties each playbook to a concrete trigger, such as an identity provider alert or an endpoint detection, and to measures the team already tracks, such as time to triage or the share of alerts closed without analyst input. Ask how credentials for connected tools are stored. Shuffle encrypts saved app credentials and API keys in OpenSearch with AES-256 using the SHUFFLE_ENCRYPTION_MODIFIER secret, and the Shuffle configuration docs warn that losing or changing that value breaks every saved app authentication. A capable partner will describe where that secret lives, how it is backed up, and who can read it. Ask how they write and maintain Shuffle apps from OpenAPI specifications or the Python SDK, and how they handle version changes in the tools those apps call.

Ask how workflows are tested before production, including a staging environment, sample alerts and a rollback path, and whether any test can execute real response actions against production systems. Ask how run limits and scaling are planned. Shuffle licensing is priced on app runs, which count only actions that actually execute, so the partner should estimate run volume from your alert data and show how the architecture behaves when Orborus nodes fail. Confirm the deployment model, since Shuffle documents single-server Docker Compose, Docker Swarm, a hybrid with Shuffle Cloud and Kubernetes with Helm. Finally, ask for a written quote that separates one-time build work from recurring support, app maintenance and worker infrastructure. Red flags include vague answers about credentials, no test environment, and quotes that cannot be traced to the written scope.

Which playbooks do you build first, and how do you measure them?

How do you choose the first playbooks to build in Shuffle?

A good partner starts with the alert sources your team already handles most often and the decisions analysts repeat by hand, not with a catalog of playbook templates. In discovery, you should expect a review of alert volumes, the tools that raise them, the enrichment lookups analysts run, and the response steps that need an approval. Each first-wave playbook should name one alert source, the enrichment and response actions it uses, and the outcome it is expected to improve. Ask for that list in writing before build starts, and ask which candidates were rejected and why.

What success measures should a SOAR playbook be held to?

Measure each playbook against a baseline taken before it goes live. Common measures are time from alert to triage decision, share of alerts closed automatically with a documented reason, analyst minutes saved per alert type, and the rate of escalations that turn out to be real incidents. Set the targets and the measurement method in the statement of work, including where the data comes from, such as Shuffle execution history or the case system. Avoid measures that reward closing alerts quickly, because they can hide missed detections.

How do you handle false positives in automated triage?

False positives should be tracked by rule, by alert source and by playbook, with a named owner who reviews them on a fixed cadence. Early versions of a playbook should auto-close only the cases with a narrow, well-understood pattern, and route everything else to an analyst. Ask the partner how they record each automated closure, how they sample closed alerts to check them, and how they tune enrichment thresholds when a source changes. Shuffle execution records can support this review, but the review process itself has to be agreed with your SOC.

How do you handle playbooks that can change production systems?

Playbooks that isolate hosts, disable accounts, block addresses or change firewall rules should run behind explicit approval gates and be written so a human can see what will happen before it does. Ask the partner which actions are read-only, which need one approver, and which need two, and who holds those approvals outside business hours. Production-facing steps should be tested in a non-production environment with the same connectors and permissions, and each change should go through your change control process. Confirm rollback steps for every destructive action before go-live.

Can you commit to a fixed number of playbooks in a fixed time?

A partner that commits to a fixed playbook count and delivery date before discovery is asking you to accept unknown scope. The right order is discovery first, then a written scope that lists each first-wave playbook, its alert source, its actions and its measure, with the timeline attached to that list. The number and timing depend on how many alert sources are connected, how many systems each playbook touches, how many approval paths you need, and how clean your existing data is. Ask the partner to show how the scope would change if a playbook turns out to need a new connector.

Which alert sources should a first SOAR rollout connect?

Start with the sources that produce the highest volume of alerts that follow a known pattern, such as endpoint detections, identity provider sign-in alerts, email security alerts and network intrusion alerts. If you run Wazuh, Suricata or Zeek, the playbooks often begin from those detections because they already carry the fields that enrichment needs. For threat intelligence lookups, MISP is a common enrichment source, but confirm that the connector you need exists or can be written as an app. Ask the partner which sources they propose, what each one would be used for, and what they would not connect in the first wave.

Who owns playbooks after the first wave goes live?

Ownership should be assigned per playbook before go-live, with a named internal owner for the business decision and a named partner or internal engineer for maintenance. Playbooks break when connected tools change their APIs, credentials expire, or alert formats shift, so ask how the partner monitors for those changes and how much of that work is in the initial fixed scope versus a retainer. DeployOpen offers ongoing support and upgrades as retainers, and its work is delivered inside the client's own infrastructure, so the owner and the change log should live with the client.

What should the written deliverables include for each playbook?

Each playbook should come with a one-page specification, a workflow export from Shuffle, a list of the apps and credentials it uses, the approval rules, the test cases and results, the success measure and its baseline, and the owner. Ask for version control of the workflow and app definitions, and for a record of which changes were approved and by whom. These documents are also the evidence that an assessor or incident reviewer will ask for later, so agree on their format and storage location before the first playbook is built.

How do you test workflows before they reach production?

A partner should run at least one non-production Shuffle instance that mirrors the production deployment model, with its own backend, OpenSearch store, Orborus runtime and app credentials. Shuffle's architecture separates the server, the runtime that polls for jobs, and the app containers that execute actions, so each layer should be reproduced in the test environment rather than only the workflow definitions being copied. Production secrets should never be loaded into the test instance. Ask whether test credentials point at sandbox tenants of the connected tools, and whether the partner can show the environment inventory, including versions and who can access each instance.

  • Separate instances: Development, test and production each have their own Shuffle server and Orborus nodes, with no shared OpenSearch cluster.
  • Credential isolation: Test instances use test accounts in identity, endpoint and ticketing tools, and their encryption modifier value differs from production.
  • Version pinning: The Docker tag for each instance is recorded, so a test result can be tied to the exact release that ran it.
  • Access control: Each environment has a named owner and an access list that the security team can review.

Ask the partner to show the environment inventory and the process for creating and retiring test instances.

How do you plan run limits, workers and scaling?

How do you estimate app-run volume for Shuffle licensing?

Start from your alert volumes and the playbook mix, then count the actions that will actually execute. Shuffle prices on app runs, which are actions that execute in a workflow. Triggers and skipped actions do not count, and users, apps and workflows are unlimited. A capacity model lists each playbook, the alert types that start it, how many actions run on the common path and on the escalation path, and the expected daily volume for each. Ask the partner to show that model in writing and to confirm how the enterprise limits apply to your edition. Since v2.1.1, the limits between the open-source and enterprise editions are actively enforced, so confirm the figures for your version before you commit to a volume.

How many Orborus nodes do you plan for failover?

Plan more than one Orborus node so workflows keep running if one fails. Orborus polls the Shuffle backend for jobs and starts a worker for each workflow execution, so a single node is a single point of failure for execution even when the backend is redundant. The count depends on peak concurrent executions, the resources each worker container needs, and how much headroom you want during a burst of alerts. Ask the partner to show the node count, where each node runs, how a failed node's jobs are picked up by the others, and how they test that failover before go-live. If the proposal shows one Orborus node described as highly available, treat that as a red flag.

How are the OpenSearch cluster, Memcached and NFS sized for high availability?

Shuffle's configuration guidance for high availability calls for an OpenSearch cluster, optional Memcached for a shared cache, and NFS for shared files when several backends run. Sizing depends on stored workflow executions, retention settings, the number of backend and frontend instances, and the disk and IOPS the shared file store can sustain. Ask the partner for a sizing sheet that states node counts, storage per node, retention periods, backup method and the expected behavior if NFS or one OpenSearch node becomes unavailable. Also ask who owns the NFS platform and how its performance is monitored, because a shared file store that slows down can stall several backends at once.

Which Shuffle deployment architecture fits our expected load?

Shuffle documents four architectures: a single server with Docker Compose, distributed Docker Swarm, a hybrid with Shuffle Cloud and a local Orborus, and Kubernetes with Helm charts. A single server suits a small pilot with limited alert volume. Swarm or Kubernetes suit larger volumes, multiple backends and several worker nodes. The hybrid model can reduce inbound firewall rules because the local Orborus does not need inbound ports, but it places part of the execution path outside your network, which your data handling rules must allow. Ask the partner to justify the choice against your alert rate, data residency rules and the number of teams running playbooks.

How does the partner monitor worker load and execution backlog?

A credible partner monitors queue depth, worker count, execution duration, failure rate and resource use on each Orborus node, OpenSearch and the backend. Ask which metrics they collect, where dashboards live, which thresholds trigger alerts, and who responds at night. Ask how they detect a playbook that loops or runs far more actions than the model predicted, since that directly consumes app runs. Also ask how monitoring data is retained, because it becomes evidence when you need to show that automated response ran as designed.

How do you test scaling before production alert volume arrives?

Test with replayed or synthetic alert volumes that match the peak your capacity model predicts, plus a margin. Run the test against a non-production environment with the same node counts, then record execution latency, backlog and app-run counts. Include a node-failure test that stops one Orborus node during load and confirms that queued jobs complete. Ask the partner to provide the test plan, the pass criteria, and the report they will hand over. Any synthetic alerts should avoid triggering destructive actions in connected tools.

What should the written capacity agreement include before go-live?

The written agreement should state the expected app-run volume by playbook, the enterprise limits for your edition confirmed by the vendor in writing, the Orborus and backend node counts, the OpenSearch, Memcached and NFS sizing, and the thresholds that trigger a capacity review. It should also say who pays for added workers or storage, how growth in alert volume is handled, and how often the model is refreshed. Ask for a named owner on each side. Because limits and pricing can change between versions, confirm the figures for the version you deploy, not the version in a proposal written earlier.

Who pays for worker infrastructure as alert volume grows?

Your organization typically pays for the compute, storage, network and any Shuffle license tier, and the partner charges for planning, configuration, load testing and ongoing tuning. Costs recur as volume grows, so the model should show which components scale with app runs and which scale with nodes or storage. Ask for a quote that separates one-time build work from recurring infrastructure and license costs, and ask what happens when a playbook is added that multiplies action counts. Do not accept a quote that cannot show how the cost moves with volume.

How do you secure access to Shuffle itself?

A SOAR platform holds credentials for most of your security tools, so the access model for Shuffle matters as much as the playbooks it runs. The cards below cover single sign-on, tenant controls, role design, change logging and separation of duties that an RFP response should answer in writing.

Single sign-on options and versions

Shuffle added SAML single sign-on in version 0.9.16 and OpenID Connect in 1.0.0, and both are available on-premises and in the cloud. Ask the partner which protocol they will configure for your identity provider, why, and how the setup is tested before analysts depend on it. Confirm that the fallback local login path is restricted to a small break-glass group.

Per-tenant SSO enforcement

Shuffle supports SSO enforcement per tenant, so one organization or business unit can be required to sign in through its identity provider. For a shared SOAR serving several teams or subsidiaries, ask how enforcement is set, who can change it, and whether it is logged. Test that a user from one tenant cannot reach workflows or credentials belonging to another.

SAML deprecation on Shuffle Cloud

Shuffle is deprecating SAML on Shuffle Cloud in favor of OpenID Connect. If your identity provider only supports SAML, or if you plan a hybrid setup with a cloud control plane, this affects your migration timeline. Ask the partner to confirm the current status of SAML for the deployment model you will run and to plan the switch before go-live rather than after.

Role design for analysts and engineers

Separate the people who triage alerts from the people who build and change playbooks, and from the people who manage the platform itself. Ask the partner for a role matrix that defines who can run workflows, edit workflows, add apps, view stored credentials and manage users. Request a review of the matrix at a set interval, with the reviewer named in the document.

Audit logging of playbook changes

Every change to a workflow, app configuration or trigger should produce a record of who changed what and when, and that record should leave the platform. Ask how Shuffle execution and change history is retained, where it is forwarded to your SIEM, and how long it is kept. Test by making a benign edit and confirming it appears in the external log.

Separation of duties for playbook approval

The person who builds a playbook should not be the only person who approves it for production, especially when the playbook disables accounts, isolates hosts or sends regulatory notices. Ask the partner how the build, review and promotion steps are separated in Shuffle, whether promotion is recorded, and how an emergency change is approved and reviewed afterwards.

Answers that should worry you

Vendor and partner answers to SOAR RFP questions often sound complete until you test them against how Shuffle actually stores credentials, runs workflows and scales. The cards below name the answers that should prompt a follow-up question before you shortlist anyone.

Promised playbook counts without discovery

A proposal that commits to a fixed number of playbooks before reviewing your alert sources, case volumes and approval rules is selling a count, not an outcome. Ask which three playbooks they would build first, why, and how they would measure whether each one reduced analyst handling time or missed escalations. Ask what discovery output you will receive before any build starts, and who signs off on the playbook list.

Credentials stored in plain text

Connected tools such as ticketing, EDR and identity providers need API keys or service accounts inside Shuffle. Shuffle encrypts saved app credentials in OpenSearch with AES-256 using the SHUFFLE_ENCRYPTION_MODIFIER secret, so ask whether the partner uses that mechanism or stores keys in config files, notes or shared accounts. Ask who can read each credential and how rotation is logged.

No tested recovery for the encryption secret

The Shuffle docs warn that losing or changing SHUFFLE_ENCRYPTION_MODIFIER breaks every saved app authentication. A partner who has not restored a backup of OpenSearch alongside that secret, in a test environment, has not proven recovery. Ask where the secret is held, who has custody, how it is backed up separately from the data, and when a restore was last rehearsed and by whom.

Testing playbooks in production

Playbooks that can close tickets, isolate hosts or disable accounts must not be first exercised against live alerts. Ask how the partner builds a non-production Shuffle environment, replays sample alerts, uses test credentials and records each run before promotion. Ask who approves a workflow change and whether versions are kept so a faulty playbook can be rolled back.

No capacity model for workers and runs

Shuffle's architecture depends on Orborus nodes that start a worker for each workflow execution, and its enterprise licensing counts app runs. A proposal without a capacity model that estimates runs per day, peak alert bursts, worker count and the OpenSearch cluster size is guessing. Ask for the model in writing, including how more than one Orborus node keeps workflows running if one fails.

Apps you cannot export or own

Shuffle apps are built from OpenAPI specifications or written in Python with the app SDK and run as versioned Docker containers. If the partner keeps those apps, workflows and build scripts in its own tenant or private repository, you may be unable to run or change them after the engagement ends. Ask for source, workflow exports and container build instructions delivered into your repository at each milestone.

How to score partner responses

This table sets out six criteria for scoring a SOAR implementation partner's written answers, with the weight to assign, what a full-marks answer contains and what a failing answer looks like. Score each answer against the cell text, not the partner's confidence, and treat a missing specific as a fail on that criterion. Credential handling and testing carry the most risk for a regulated buyer, so weight them highest.

CriterionSuggested weightFull marks look likeA failing answer looks like
Playbook methodHighNames the first alert sources and playbooks, states how each is measured (triage time, false positive rate, cases closed without manual rework), and ties each to a documented decision ownerLists generic use cases such as phishing or malware with no sources, no metrics and no named owner for approving changes
App ownershipHighSays who writes and maintains Shuffle apps, how OpenAPI or Python apps are versioned as Docker containers, how upstream API changes are detected, and what the client keeps after handoverSays apps are built as needed with no version control, no test owner and no statement on what happens when a connected tool changes its API
Credential handlingVery highExplains that saved app credentials are encrypted in OpenSearch with AES-256 under SHUFFLE_ENCRYPTION_MODIFIER, where that secret is held, how it is backed up, and who can read or rotate connected-tool secretsStores tool API keys in workflow text or shared accounts, or cannot say where the encryption modifier is kept or what happens if it is lost or changed
Testing before productionVery highDescribes a separate test environment, test data that avoids live tickets and endpoints, a change record for each workflow version, and a dry-run or approval gate before any destructive action runsTests only in production, has no rollback path, or treats approval for containment actions as optional
Scaling and run limitsMediumSizes the deployment against the architecture the client will run (single server, Swarm, hybrid or Kubernetes), explains HA components such as the OpenSearch cluster and multiple Orborus nodes, and forecasts app runs against the licensing metricQuotes one server size without a load basis, ignores app-run counts, or cannot say how workers are restarted when one fails
HandoverMediumLists the runbooks, playbook inventory, app source, test cases, credential register and training the client receives, with a named operator after go-liveOffers documentation on request only, with no written list of deliverables and no plan for who maintains workflows after the engagement ends

What drives the cost and effort of a SOAR engagement

The first thing to ask for is a written, fixed-scope quote that itemizes who does what. For a Shuffle engagement, the partner's time typically splits across scoping, playbook design, app building, integration testing, infrastructure and worker hosting, and handover. Ask for each line separately, with the named deliverable and the acceptance test for it. Scoping and playbook design are where the most decisions get made, so a quote that lumps them together makes it hard to see what you are buying. App building covers both apps generated from OpenAPI specifications and custom apps written with the Shuffle app SDK, and the quote should say how many of each it assumes and which connected tools they target. Integration testing and handover should each have their own line, since they are the parts most often squeezed when a project runs late.

Separate the one-time build from the recurring costs before comparing quotes. One-time work includes scoping, design, app creation, testing and the initial deployment. Recurring costs include the infrastructure and worker hosting you run, any Shuffle licensing you choose, connector maintenance when a vendor changes its API, and any support or upgrade retainer. The licensing metric matters here: Shuffle prices on app runs, which are actions that actually execute in a workflow, so the number of alerts your playbooks process drives the recurring bill. Ask the partner to estimate app runs from your alert volume and to state which assumptions the estimate depends on. Ask whether connector maintenance and retainers are optional, and what happens to the playbooks if you drop the retainer.

Your own inputs move the cost more than almost anything else. Each tool you connect, whether a SIEM, identity provider, ticketing system or cloud API, adds integration and test effort, and tools with poor documentation or no stable API add more. Playbooks that include approval gates or touch production systems need more design and testing time than read-only enrichment. Name the people you must provide: an owner who can approve playbook logic, the administrators who can grant API credentials, and a test environment that resembles production. Confirm with the partner which of these you must supply and what delay results if they are late. A quote that does not list your obligations is incomplete, because the schedule and the price both depend on them.

Common questions buyers ask before hiring outside help

How much effort does a Shuffle SOAR implementation take, and what drives it up or down?

Effort depends mostly on how many alert sources, tools and playbooks are in scope, and on how many of those tools already have a usable Shuffle app. Shuffle builds apps from OpenAPI specifications in the App Creator or from Python code using the app SDK, so a tool with a clean API and a published specification is far quicker to connect than one that needs custom authentication or a hand-written app. Effort also rises with the number of approval gates, the change control your organization requires, and the number of environments (lab, staging, production) that each playbook must pass through. Ask any partner to split the estimate by alert source, playbook and integration so you can see where the work sits.

How long does a first Shuffle rollout usually run, and what does it depend on?

The timeline depends on the deployment architecture you choose, the readiness of your identity and network access, and how many playbooks reach production in the first phase. Shuffle documents four architectures, from a single server with Docker Compose to Kubernetes with Helm charts, and a hybrid option where a local Orborus needs no inbound firewall ports. Choosing a larger architecture adds platform work before the first playbook runs. Approval from your security, change and operations teams often sets the pace more than engineering does. Ask the partner to tie each milestone to a dependency you own, such as account access, a test tenant for each connected tool, or a named approver for destructive actions.

What does our team need to supply before a SOAR partner can start?

Your team needs to supply access and decisions, not only tools. Expect to provide administrative accounts or service identities for each connected system, test or sandbox instances where automated actions can be run safely, a list of alert sources with sample events, and the named owners who approve destructive actions such as isolating a host or disabling an account. You also need to decide where the Shuffle server and its workers will run, which identity provider will handle single sign-on, and where the encryption secret used for saved app credentials will be held. Missing any of these usually delays testing more than it delays building.

Can our internal team build and run these playbooks without an outside partner?

A capable internal team can build and run playbooks, but the work splits into skills you may or may not already have. Writing a playbook in Shuffle requires familiarity with its workflow editor, the apps for each tool, and the security logic of triage and response. Keeping connectors working is a separate, recurring job, because each connected tool changes its API and authentication over time. Shuffle's open-source edition includes its features, so the software cost is not the main question. The real question is whether your team can staff the build, the testing, and the upkeep of every app after go-live. Ask a partner to show which parts they would hand over and which they would keep.

Is app-run licensing predictable for a Shuffle deployment?

App-run licensing is predictable when you can estimate how many actions will actually execute each month. Shuffle prices on app runs, meaning actions that execute in a workflow. Triggers and skipped actions are not counted, and users, apps and workflows are unlimited. Your monthly volume therefore depends on alert volume, how many enrichment lookups each alert triggers, and how many playbooks run automatically. Noisy detection rules that trigger many enrichment steps can raise the count quickly, so tuning early matters. Ask the partner to model run volume from your real alert data, and confirm with Shuffle which edition and limits apply to your deployment, since limits between the open-source and enterprise editions are actively enforced since v2.1.1.

What happens after handover, and who maintains the playbooks and apps?

After handover, the playbooks keep working only if someone maintains the apps that connect them to your tools. Each connected system can change its API, authentication method or data format, and a broken app causes a failed playbook. Shuffle apps are versioned Docker containers, so updates can be tested before they replace a working version. Upkeep also includes platform upgrades. Shuffle's configuration docs warn that losing or changing SHUFFLE_ENCRYPTION_MODIFIER breaks all saved app authentications, so key custody needs its own procedure. Ask any partner what support, upgrades and testing they offer under a retainer, what is covered by a fixed-scope engagement, and how they document each playbook so your team can take over.

How do we know the partner can test workflows safely before production?

A safe test process uses separate environments, test accounts, and recorded runs before any playbook can take action on production systems. Ask the partner to show how they run each playbook against sample alerts, how they confirm that destructive actions only fire after approval, and how they verify that saved credentials and encryption settings match between environments. Testing should also cover failure modes, such as what happens when a connected tool is unreachable or when a worker node stops. Request written test evidence for each playbook as part of the handover package.

How DeployOpen scopes, delivers and supports SOAR work

DeployOpen is a Chainscore Labs company that plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, whether that is a cloud account, a data center or an air-gapped network. For a SOAR engagement, that means the Shuffle server, its runtime workers, the connections to your SIEM, identity provider and ticketing tools, and the playbooks themselves are built in your environment, under your control. When you evaluate a partner, ask which of these components they will deploy, which they will only document, and which remain your team's responsibility after handover.

Most engagements are fixed-scope: the scope, deliverables and timelines are agreed in writing before work starts, and a quote follows from that written scope. Ask any partner to show how each playbook, each connector and each test cycle appears in the statement of work, and what happens when a connected tool changes its API during the project. Ask for the acceptance criteria for each deliverable, including who signs off that a playbook ran correctly against a test alert before it touches production. Ongoing support, upgrades and continuous testing are available as retainers, so the cost of keeping Shuffle, its apps and the connected tools current is a recurring item to price separately from the build.

DeployOpen prepares systems, controls and documentation that support compliance assessments, such as playbook records, access settings and audit logs of automated actions. It does not issue audit reports, attestations or certifications; independent auditors and certification bodies do that work, and DeployOpen holds no certifications or vendor partner status on the basis of this page. Confirm with any partner which evidence artifacts they produce, how they are versioned and retained in your environment, and who in your organization owns the sign-off that the evidence meets your regulator's or auditor's expectations.

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.