MISP instance synchronization and sharing groups

How to connect a MISP instance to partners and ISACs, control what leaves your organization, and verify that sync filters and sharing groups behave as designed before intelligence is exchanged.

On this page

How MISP synchronization and sharing groups work together for partner exchange

A team that needs to exchange indicators with partners or an ISAC usually wants two things at once: useful intelligence leaving the building, and internal context staying inside it. In MISP, synchronization and sharing groups decide what leaves the instance. Distribution levels and filters decide who receives it once it does. Getting both right is the core of the design, and it has to be done before the first sync connection is switched on.

Enabling a sync connection is the easy part. The harder work is writing a sharing policy that is correct for every event and every attribute. An event may carry a distribution level that is broader than the analyst intended, or a sharing group that includes a partner who should not see it. An attribute may inherit a permissive setting from its event when it should be restricted, or carry a comment, a source reference or a victim detail that was never meant to travel. Each of these decisions has to hold across the whole dataset, not just the examples used in testing. The MISP features documentation describes distribution levels and custom sharing groups that can be applied down to individual attributes, which gives precision but also means more places where a mistake can happen.

Mistakes are also hard to undo. Once an event has been pulled by a partner's instance, or pushed onward to another community, the local team cannot recall copies that already exist elsewhere. Correcting the distribution of a published event affects only what future syncs carry. Before enabling any connection, the team should decide which organizations and sharing groups may receive each class of data, test filters against representative sample events, and confirm with each partner how their instance stores and forwards received material. Retention and re-sharing terms belong in the agreement, not only in the configuration.

The MISP software is licensed under the GNU AGPL version 3, so there is no per-seat or per-instance license fee to budget for. The cost of a sharing arrangement sits in design, configuration, testing and governance: who writes the policy, who approves each new partner, who reviews filter changes, who monitors what is being exchanged, and who maintains the arrangement as partners and data types change. Those are the costs to plan for. Ask any implementation partner to show how they would document the sharing policy, test it per attribute, and keep a record of approvals for each sync partner before work begins.

Components involved in MISP sync and sharing

Synchronization in MISP is governed by a small set of connected objects: the organizations that own data, the sync connections that carry it, and the distribution and sharing group settings that decide what leaves the instance. Each card below covers one of these components and what to verify before a partner connection goes live.

Organizations and local or remote status

Every event, user and sync connection in MISP belongs to an organization. Local organizations are those hosted on your instance, while remote organizations represent parties on other instances. Confirm which organizations are local before you connect a partner, because the distinction determines which records can be edited on your side and which are only mirrored from the partner.

Sync server connections and push or pull

A sync server entry defines the remote MISP URL, its authentication key and the direction of exchange. Pull brings the partner's events into your instance, push sends your events out, and both can be enabled per connection. Verify each direction separately with the partner, since a one-way pull is a common starting point for intelligence consumers.

Distribution levels on events and attributes

Distribution settings decide who can receive an event or attribute, from the originating organization only to all communities that connect to the instance. Distribution is set at both the event and attribute level, so a sensitive indicator can be held back inside an otherwise shareable event. Review the default distribution for new events, since it applies to analysts who do not change it.

Sharing groups and organization membership

Sharing groups let you define a named audience that includes specific organizations and can be applied at event or attribute level. MISP supports custom sharing groups down to individual attributes, which allows fine control for sensitive data. Confirm the membership list of each group with its owner and remove organizations that no longer need access.

Filtering rules on sync

Sync filters limit which events, tags, organizations or distribution levels are pulled or pushed on a given connection. Filters are the main control for keeping internal-only material off a partner server, and they should be tested with a sample event before go-live. Document each filter with the partner so that changes on either side are reviewed together.

Tags that change what is shared

Taxonomy tags and warning list entries do not themselves grant access, but some tags are used in sync filters or in distribution policy to decide what leaves the instance. Only the taxonomies and warning lists that your filter rules reference need attention for sharing. Confirm with the partner which tags they expect to receive and which should be excluded.

Why push and pull change who controls the data flow

The choice between push and pull decides which side of a sync relationship holds the initiative. In a push connection, your MISP instance selects events and sends them to a remote server. In a pull connection, your instance contacts the remote server and fetches what it is permitted to see. The mechanism looks like a small configuration detail, but it changes who controls visibility, timing and troubleshooting. Before you configure either direction on a partner or ISAC connection, decide which party should be making that choice for each dataset you exchange. With push, your organization controls what leaves the building. Your administrators decide which events are published to the remote server and under which distribution level, and the remote side only receives what you chose to send. That control is useful when you want to share a curated subset with a partner who has no need to browse your whole collection. The trade-off is that the remote side depends on your instance to stay reachable and to run its publishing and synchronization jobs. If your scheduler stops or a publishing rule is misconfigured, the partner quietly stops receiving updates, and the gap may not be noticed until someone asks why an indicator is missing. With pull, the remote server decides what it offers, and your instance decides when to ask. You control your own inbound schedule and can keep your collection local, but you depend on the remote side's filters, distribution settings and availability. Whatever the partner has filtered out never reaches you, and you may not know what was withheld. Failures tend to appear on your side as stale data or authentication errors on the connection, which means your monitoring should track the last successful fetch for each remote, not only whether the sync job ran. In practice, most sharing groups use both directions, and the decision is made per connection and per dataset. Review the sync settings of your MISP version against the official documentation, since option names, default behaviour and job handling change between releases. Then write down, for each partner, who selects the data, who can revoke it, and who is alerted when the connection breaks. Those three answers will do more to keep sensitive attributes inside the organization than the direction of the connection alone.

Test the design before it goes live. Use a non-production remote or a partner-agreed test event to confirm that a published item reaches the other side only at the distribution level you intended, and that an attribute restricted to your organization does not appear in the outbound payload. Repeat the check after upgrades, because a change in default filtering can alter what a connection carries without any visible change in your configuration screens.

Decisions to make before connecting a partner or ISAC

This table compares the main choices for sync direction, sharing path, default distribution, sharing groups and filtering before a MISP instance exchanges data with a partner or ISAC. Read each row for when the option fits and what it will cost your team to operate over time. The main takeaway is that wide defaults and loose partner trust are the hardest settings to undo once data has already left your instance.

DecisionWhen it fitsOperational cost
Push onlyYour team publishes indicators outward and does not need to pull partner data into this instanceLess inbound data to review, but you depend on partners to fetch your events and must confirm sync health on your side
Pull onlyYou consume a community or ISAC feed and do not publish your own events to that peerImported events need triage and tagging, and you must watch for stale or withdrawn data because removals depend on the source
Bidirectional syncTwo organizations share operationally and trust each other's data handling equallyHighest review load: you own partner trust, see every inbound event, and must manage conflicts and duplicate handling
Community or ISAC hub versus direct peer syncThe sector already runs a shared hub, or you want one trust agreement instead of many bilateral linksLess peer maintenance, but you accept the hub's sharing rules and must track its membership and policy changes
Default distribution set to organization onlyNew events contain sensitive detail, such as internal asset names or incident context, that should stay localAnalysts must raise distribution deliberately for each share, which slows publication and adds review steps
Default distribution set to community or connected communitiesYour team routinely shares broadly accepted indicators within a trusted sector groupOver-broad defaults can expose content to every connected peer if an analyst forgets to change the level
Default distribution set to allRarely appropriate for regulated or incident data; mainly suits fully public intelligenceAnything created under this default may leave your trust boundary, which is hard to reverse once synced
Standard distribution levelsYour sharing rules fit the built-in levels and few partners need special handlingLow maintenance, but limited control if different partners need different subsets of the same event
Custom sharing groupsSpecific partners or teams need defined access to particular events or attributesEach group needs an owner, membership review and documented purpose, and group sprawl grows the rule set over time
Filtering sync by tag, organization or event typeOnly certain categories should leave or enter the instance, such as a single sector tag or a defined event typeFilters need tests and ongoing upkeep as taxonomies change; a missed tag can silently block or leak data

How to configure sync partners and sharing groups step by step

This sequence takes a MISP instance from a confirmed install to a tested sync partnership, with sharing groups, distribution rules and filters in place. Each step ends with a check so the team can confirm that sensitive material stays inside the organization before any live events move.

  1. Confirm the MISP version and install method

    Start on Ubuntu 24.04 with the MISP 2.5 line, which the project recommends for new deployments, and install with the provided installer. Docker images, Ansible roles, Puppet and RPM packages are also listed as options, and the configuration steps that follow are the same after any of them. Do not begin with MISP 2.4, which is end of life and receives security fixes only. Done when the administration dashboard reports the expected version, an administrator can log in over HTTPS, and each partner has confirmed that its version is compatible with yours.

  2. Define the local organization identity

    The instance administrator sets the local organization name and identifiers in the administration settings, then adds each partner organization to the organization list. The local organization owns events created on this instance, so its name must match what partners expect to see. Keep the partner list limited to organizations you have agreed in writing to exchange with. Check that the local organization is flagged as local, that each partner appears once with its own identifier, and that an event created by a test user shows the correct owner organization.

  3. Create sharing groups and their members

    Create one sharing group for each trust circle, such as an ISAC, a bilateral partnership or an internal team, and add only the organizations that belong in it. Choose whether the local organization is included and which roles can use the group. Record each group's membership alongside the partner agreement so reviewers can compare the written scope with the instance. Check that each group shows the expected member organizations, and that a user from an organization outside the group cannot select it when creating an event.

  4. Set default and per-event distribution rules

    Set the default distribution for new events and attributes in the server configuration, choosing the most restrictive level for anything that has not been reviewed. Use "Your organisation only" for internal material and a sharing group for material meant for a defined circle. Analysts set distribution on each event and attribute, so write a short rule for when each level applies and who may override the default. Check by creating one event at organization-only distribution and one at sharing group distribution, then confirming that each event view shows the chosen level.

  5. Add the remote server with agreed direction

    Add the partner server in the sync server settings with its base URL, the authentication key issued by that partner, and the pull and push options both sides agreed in writing. Set the remote organization and the sharing group the exchange will use, and confirm the partner has matching settings on its side. Pass the authentication key through a secure channel and keep it out of tickets and shared chats. Check that the connection test passes, the remote organization appears in the server list, and a pull attempt completes without authentication errors in the sync log.

  6. Apply sync filters for tags, organizations and types

    Add pull and push filters that match the agreed scope: tags that mark shareable material, organizations whose events may be exchanged, and the attribute or event types the partner needs. Filters narrow what moves, so keep each list short and document it next to the partner agreement. Exclude any event carrying an internal-only tag on both sides. Confirm the exact filter field names against the documentation for your MISP version. Check by pulling a sample from the partner and verifying that only matching events arrive and that no internal-only event appears on either instance.

  7. Test with a non-sensitive test event

    Create a test event containing a documentation-range IP address, a tag that matches the sync filter and a harmless description, then push it to the partner. Ask the partner to confirm that the event arrived with the expected sharing group and distribution. Next, add an attribute marked organization-only to a second test event and confirm that it does not reach the partner, since organization-only material should never leave the instance. Check that both results match expectations on both sides and that the sync log records the event identifiers for later review.

How to keep sensitive attributes inside the organization

The most important rule for a MISP instance that synchronizes with partners is that distribution decisions are made when data enters MISP, not when it leaves. Sensitive events should be created with distribution set to your own organization only, and that setting should be checked before any sync partner is connected. Attribute-level distribution and sharing groups give finer control when one event mixes material that can travel with material that cannot. Use them deliberately: a sharing group that includes an external organization is a sharing decision, and it should be recorded as one. Confirm in your own instance how the default distribution for new events and attributes is set for each user role, because a permissive default is the most common way sensitive data leaves a deployment unnoticed.

Sync filters are a second line of control, not the first. A pull or push rule can exclude events by organization, tag, distribution level or type, and tags that mark internal material, such as a local classification tag agreed with your team, are a practical basis for those rules. Test each filter against known events before enabling it, and record which tags the filter depends on. A filter that relies on a tag will fail silently if analysts forget to apply that tag, so pair tag-based filtering with a review of events that carry no classification at all. Filters also need an owner who reviews them after each sync partner change or MISP upgrade, since rules that worked on one version may be interpreted differently after a migration.

A correct sync filter does not protect attributes that were already published with a wider distribution level. Once an attribute has been shared with a community or a sharing group, a later change to the filter does not recall it from partners that already received it, and a downgrade in your own instance does not undo a previous synchronization. Before connecting a new partner, search existing events for attributes at broader distribution levels and review the ones that should have stayed internal. Treat that review as part of the onboarding checklist, not an occasional cleanup task, and document who approved each widening decision.

Enrichment results and feed-imported data need the same scrutiny. Expansion modules and enrichment lookups can attach new attributes to an event, and those attributes may inherit a broader distribution than the original sensitive indicator. Default intelligence feeds and imported warning lists also create events at distribution levels chosen by their publishers, not by you. Check the distribution of attributes added by enrichment and feeds, and decide whether they should be copied into an internal event with a stricter setting. Ask the team that maintains your feeds and enrichment configuration to confirm which of these paths can create events that sync outward.

Analysts need a written rule for when to downgrade distribution, withhold an attribute, or keep it entirely internal. A practical rule names the trigger, such as the source being a customer, a regulator, an incident under legal hold or a partner's restricted report, and the action, such as setting distribution to organization only, removing the attribute before sharing, or splitting the event. It also names who can override the rule and how the override is logged. Test the rule with two or three illustrative cases before publishing it, and review it after each sync partner is added. Without this rule, each analyst makes an individual judgment, and the sharing outcome depends on who handled the event.

What drives the effort of MISP sync and sharing

This table lists the factors that most change the work of setting up and maintaining MISP synchronization, with how each one raises effort and how to keep it manageable. Read each row as a lever you can set before the build starts, since most of the ongoing cost comes from decisions made in the first design session. The main takeaway is that standard templates, a small number of clearly defined sharing groups, and a test instance for filter changes reduce both build and maintenance effort.

DriverWhy it changes effortHow to keep it down
Partner organizations and trust agreementsEach sync partner needs its own server connection, certificate or API key handling, sharing rules and agreed terms for what is exchanged. Trust review and onboarding repeat for every partner.Onboard partners in batches using one written sync checklist. Agree a standard trust level for each partner type before the first connection.
Number of sharing groups and membership changesEvery group needs an owner, a member list and a rule for who joins or leaves. Membership changes trigger access reviews and can expose events to the wrong organization if handled late.Use fewer groups with clear membership rules written down in advance. Assign one owner per group and schedule membership reviews rather than handling changes ad hoc.
Volume and variety of event typesMany event types, attribute categories and object templates mean more mapping, more validation and more cases where data is shared when it should not be. Varied sources also produce more quality issues to resolve.Limit the event types and attribute categories allowed for sharing. Use standardized sharing templates so that each partner receives the same type of event.
Distribution rules and filtersEach distribution level and sync filter (tags, types, organizations, sharing groups) adds a rule to test. Overlapping rules are hard to reason about and easy to break during upgrades.Keep the filter set short and document the intent of each rule. Test filter changes on a separate instance before applying them to live sync.
Two-way sync versus one-way pullTwo-way sync requires both sides to accept, reject and correct data, and it creates loops, duplicate events and conflicting edits to monitor. One-way pull is simpler to operate but gives less control over what leaves your organization.Choose one-way pull or push where the business need allows it. Where two-way sync is required, define which side owns each event type and monitor sync logs for failures.
Integration with internal toolsSIEM, ticketing, IDS and enrichment connections each need their own export format, credentials, field mapping and monitoring. Changes in one tool can break sync or sharing downstream.Limit integrations to the tools that consume MISP output directly. Use the documented restSearch export and PyMISP, and version-control the mapping logic.
Separate test instance availableWithout a test instance, filter and sharing changes are tested on live partner connections, which raises the risk of leaking data or disrupting partners. Work is slower because changes are reviewed in production.Ask for a separate test instance with sample partner connections before scoping. Use it for every filter, group and upgrade change, and confirm the test data contains no real sensitive attributes.
Sensitive attributes and internal-only dataAttributes that must stay inside the organization need checks at export and sync time. Each new source or attribute type can introduce a path that exposes them if the rules are not reviewed.Mark internal-only attributes with distribution levels that do not sync. Review the sync rules whenever a new source or attribute type is added.

How sync setup differs by deployment model

A single MISP instance serves analysts, administrators and sync traffic from one server. Sync is the simplest model to reason about because one set of network rules, one certificate and one set of sync users covers every connection. The trade-off is that partner-facing exposure and internal analyst work share the same host, so every change to sync affects the analyst service too.

  • Network paths: One inbound HTTPS path serves partner pull and push, and outbound connections go to each remote server. Analyst access can usually stay on a separate internal path.
  • Certificates: One certificate on the sync endpoint, trusted by every partner and renewed on one schedule.
  • Sync user keys: One sync user per partner, with the API key stored and rotated under the administrator process.
  • Outbound access: An egress allowlist covering each partner's sync hostname and any enabled feed sources.

Confirm with each partner which hostnames, ports and certificate authorities they accept. Ask the local network team whether inbound exposure on the host that also serves analysts is permitted under their policy.

Security controls for sync connections and API keys

Every sync link extends your MISP instance to another organization, so each connection needs its own identity, its own permissions and its own review. The controls below cover the accounts, keys, transport and logs that decide what a partner can reach and what you can prove about it later.

Dedicated sync user accounts

Create a separate user account for each synchronization partner instead of sharing one account or reusing an analyst login. Assign it the lowest role that still allows the sync to push or pull events, and confirm in your MISP version which role permissions are needed for sync and which are not. A dedicated account lets you disable one partner without affecting others and makes its activity easy to attribute in the audit log.

Restricting organizations and sharing groups

Decide which organizations and sharing groups each sync user can reach before enabling the connection. Distribution levels and sharing groups control what leaves your instance, so check that the sync filters and the account's visibility both exclude internal-only material. Test with a sample event marked for a single organization to confirm it does not appear on the partner side.

Rotating and storing API keys

Sync connections authenticate with the API key of the sync user, so treat that key as a credential with an owner and an expiry date. Store it in a secrets manager or restricted configuration file, not in shared documents or chat, and rotate it on a schedule and after any staff change at the partner. Confirm in your version how to regenerate a key and whether the old key stops working immediately.

Requiring TLS and verifying certificates

Configure every remote sync server URL to use HTTPS, and keep certificate verification enabled so your instance rejects an unexpected or self-signed certificate unless you have pinned it deliberately. Check the TLS settings on both the sending and receiving servers, including supported protocol versions and cipher suites. Note that a plain HTTP sync URL would send the API key and shared indicators in cleartext.

Logging sync activity

Review the MISP audit log for sync user actions such as pulls, pushes, failed authentication and changes to server settings. Forward these entries to your central log platform if your retention rules require it, and confirm which fields the log records in your version. Without this record, you cannot tell whether a partner pulled more data than the agreement covers.

Scheduled partner access reviews

Set a recurring review of every sync account, its role, its reachable organizations and sharing groups, and whether the partner still has a valid agreement. Remove accounts for partners who have left a sharing community or no longer need the feed. Record each review with the date, the reviewer and the changes made, so the evidence is available for compliance assessments.

How to test that sync shares only what you intended

The goal of this test plan is to prove, before any partner relies on the connection, that each sync rule releases exactly the events and attributes its owner intended and nothing else. Treat the sync configuration as code under test. Write down the expected outcome for every case first, then run the cases against a staging pair of instances or against a partner that has agreed to a short test window. Record the event UUIDs, the distribution setting, the tags and the organisation that created each test item, so that every result can be traced back to a specific expectation.

Start with distribution levels. In a test instance, create one controlled event per level your policy uses (your own organisation only, this community, connected communities, all communities, and sharing group), and add one attribute at each level where the attribute-level setting differs from the event. Use clearly marked dummy values, such as documentation-range IP addresses and invented domain names, so no real indicator leaks if a test slips through. Then check the remote side. Events marked for your organisation only must be absent on the partner, the sharing group event must appear only for members of that group, and community-wide events must arrive with the distribution level preserved. Confirm the same results through both push and pull, because the two directions can be configured with different filters.

Next, test the filters. Create test events carrying a tag that your rules are meant to exclude, plus one event owned by an organisation that must never be shared, and confirm that neither reaches the partner. Include a positive control with an allowed tag so that a silent failure in the whole sync is not mistaken for a successful filter. Check both the event-level and attribute-level results, because an event can pass a filter while a single attribute inside it should not. Repeat the check after any change to tag names or organisation records, since a renamed tag can quietly fall outside the rule.

Verify the sync user's permissions separately. The account used for synchronisation should be a dedicated user with the minimum role and sharing group access needed. Log in as that user, or query the API with its key, and try to read events that sit outside its scope, including events that belong to other organisations at higher distribution levels. Any result beyond the agreed scope is a finding that must be fixed before go-live. Also confirm that the API key for the sync user is stored and rotated as your key policy requires, since a leaked sync key can expose more than the sync itself.

Test failure behaviour and rollback. Take the remote server offline for a defined period, create new test events locally, and then confirm that the local instance either queues them for later delivery or reports the failed pushes in its sync and job logs. Nothing should disappear silently, and nothing should be sent to a wrong or fallback destination. Bring the partner back and confirm that the queued items arrive once and in the right scope. For rollback, keep the previous filter rules as a saved, exported configuration. If a rule is found to over-share or to block needed data, disable the faulty rule or the sync connection, remove the affected test or live items from the partner through the agreed process, and restore the saved rule. Ask your partner to confirm in writing what they retained, and ask the implementation team to document the time taken to complete each step.

What to monitor, back up and document after sync goes live

This table lists the operational areas that need an owner once MISP synchronization runs, with what to watch, what to back up and what to record. Read each row as a recurring task, and check the upgrade row first if your instance still runs MISP 2.4, which is end of life and receives security fixes only. The main takeaway is that sync health depends on connections, certificates, filter rules and agreements being reviewed on a schedule, not only on the sync job succeeding.

AreaWhat to check or keepEvidence to keep or ask for
Sync job status and errorsReview failed or partially completed pull and push jobs, and confirm events from each partner are arriving and being sent in both directions.Job logs and error history, with a named person who receives alerts and a record of how each failure was resolved.
Partner connections and certificatesConfirm each sync server is still reachable, the API keys belong to the right service accounts, and TLS certificates are renewed before they expire.Inventory of partner endpoints, key owners, certificate expiry dates and the date of the last connection test.
Database and configuration backupsBack up the MISP database and configuration files, including organizations, sharing groups, distribution settings, sync server definitions and filter rules.Backup schedule, retention period, and a restore test that confirms sharing groups and sync settings return intact.
Upgrade testing with sync compatibilityTest each MISP upgrade against a staging copy with at least one sync partner before production. MISP 2.5 is recommended for new deployments, and 2.4 is end of life, so plan the move early.Staging test notes covering push, pull and filter behavior, plus the release notes of the version under test.
Partner agreementsRecord the agreement with each sharing partner or ISAC, including who may receive which events, the permitted distribution levels and the contact for policy questions.Signed or approved agreement reference, effective date, review date and the internal owner for each partner.
Distribution policy and filter rulesDocument each sync filter rule and sharing group, the reason it exists and the attributes it keeps inside the organization. Review them when partners or data types change.Versioned rule register with the author, approver, last review date and the sensitive attribute types excluded from sync.

Questions teams ask about MISP sync and sharing groups

How much effort does MISP sync setup take, and what drives it?

Effort depends mostly on how many partners you connect, how many sharing groups you define, how complex your filtering rules are, and whether you have a test instance to rehearse on. A single pull relationship with one trusted partner is a small job. Connecting several ISAC or peer servers in push and pull modes, each with different distribution rules and tag filters, multiplies the decisions and the testing. Each partner also adds coordination, because their administrators must agree on certificates, endpoints, sync user roles and the data they will accept. Ask any provider to break the quote down by partner count, group count, filter complexity and environments. No duration figure is supplied here, so ask for one tied to that written scope.

Can our internal team set up MISP sync using only the documentation?

Often yes, if you have engineers comfortable with Linux, PHP application administration and database work, and if one person owns the project. The MISP documentation and the software itself cover the sync configuration, distribution levels and sharing groups. The harder parts are rarely the menus: they are agreeing the sharing policy with partners, deciding which attributes must never leave your organization, and testing that filters behave as intended before real events flow. Teams usually struggle when sync is set up in production first and the rules are tuned afterwards. If your staff will do it, budget time for a test instance and for a review of the sharing rules by someone who understands your data owners' obligations.

What does a sync project need from our side?

Plan to provide five things: named partner contacts who can approve certificates, endpoints and sync user accounts on their side; the trust agreements or sharing rules that govern what each partner may receive; data owners who can classify which events and attributes are shareable; a test instance that mirrors production closely enough to rehearse pushes and pulls; and a named approver who signs off on the distribution policy before go-live. Missing any of these usually stalls the project, not the technical work. Ask the provider to list these inputs in the written scope, with an owner for each, so delays are visible early.

Is the MISP software free to use, and where does paid support come from?

The MISP software is licensed under the GNU Affero General Public License version 3, so you can deploy it without a software license fee. The project itself offers paid support services, and a number of third-party providers also offer commercial support. Your recurring costs therefore sit mainly in servers or cloud resources, administrator and analyst time, support contracts if you choose them, feeds and integration work. Taxonomies and galaxy data use separate licenses, which your implementer should confirm for your use. When comparing options, ask each provider which parts of the work they cover and which remain with your team.

How do fixed-scope engagements define what gets delivered?

A fixed-scope engagement lists the deliverables, the systems in scope, the partners to be connected, the sharing rules to be implemented and the acceptance tests, all agreed in writing before work starts. For sync, a typical written scope names each sync relationship, its direction (push or pull), the distribution levels and sharing groups it uses, the filtering rules, the test cases that prove sensitive attributes stay internal, and the handover documents. It also states which items are outside scope, such as new partners added later. Ask that acceptance criteria be testable, so you can confirm each sync link works as agreed without relying on verbal assurances.

How do we keep sensitive attributes inside our organization during sync?

Start with a written classification of what may be shared, then enforce it in MISP with distribution levels, sharing groups and filtering rules on each sync connection. Attribute-level sharing groups let you withhold specific indicators from a partner even when the surrounding event is shared. Test this before go-live with sample events that contain restricted attributes, and confirm that the partner instance does not receive them. Review the rules whenever a partner or data owner changes. Your engineers should be able to explain each filter, and your data owners should sign off on the classification.

What should we check after sync goes live?

Check that each connection is healthy, that events arrive with the expected distribution and that filters still exclude restricted content. Review sync logs for failed pulls or pushes, certificate expiry dates and unexpected changes in event volume. Confirm that partner administrators have not altered their side of the rules without notice. Schedule a periodic review of sharing groups and partner access, and retest after every MISP upgrade, because upgrades can change how sync and filters behave. Ask your provider whether this monitoring and retesting is part of a handover or a separate ongoing support arrangement.

How DeployOpen scopes and hands over MISP sync work

DeployOpen is a Chainscore Labs company. We plan, implement, customize, harden, document and support self-hosted open-source platforms inside the client's own infrastructure, and MISP synchronization is handled the same way. For sync work, the first scoping question is which partners and communities the instance will exchange events with, because that answer decides how many sync connections exist, which direction each one runs (push, pull or both), and which distribution levels and sharing groups each connection is allowed to carry. Those decisions are written down before any server is configured, so the scope reflects real trust relationships rather than assumed ones.

Most engagements of this kind are fixed-scope. The scope, deliverables and timelines are agreed in writing before work starts, and the written scope is the basis for any quote. DeployOpen does not publish a price list, so the reader should expect a quote that follows directly from the listed sync partners, the number of MISP instances involved, the sharing group design, and the filtering rules that need to be built and tested. When requesting a quote, ask the vendor to name each sync connection, the agreed direction, the distribution policy it will enforce, and which items are out of scope, such as partner-side configuration or changes to a community's own sharing rules.

The handover is where the value of the work is either kept or lost. DeployOpen's handover package includes the sync configuration records (remote server entries, API key ownership, push and pull settings, and the filtering rules attached to each connection), the distribution policy that maps sharing groups and distribution levels to what may leave the organization, test evidence showing that restricted attributes were not pushed to a partner and that expected events did arrive, and runbooks for adding a partner, rotating a sync key, and handling a failed sync job. Ask for these artifacts by name in the statement of work, and confirm where they will be stored and who on your side owns them.

Ongoing support is available as a retainer for teams that do not want to maintain sync rules, partner connections and upgrades in-house. A retainer typically covers monitoring of sync health, reviewing changes to partner connections, and applying patches to the MISP instance. Confirm in the agreement exactly what the retainer includes, how changes to sharing groups are requested and approved, and how quickly the vendor will respond to a broken sync. Any service levels should appear in writing in the agreement, and any figure you are given should be checked against the signed document rather than a verbal estimate.

Before signing, check three things with your team. First, confirm that your data classification rules match the distribution levels you plan to use, because the technical settings will only enforce what the policy defines. Second, decide who approves a new sync partner and who can change a sharing group, since those permissions are the main path by which sensitive attributes can leave the organization. Third, agree the acceptance test for each sync connection, including a sample event that is intentionally marked restricted and must not appear on the partner side. Those three decisions shape the scope more than any other factor.

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.