Skip to content

Establishing an Embargo

This page is not normative

This page is not considered a core part of the Vultron Protocol as proposed in the main documentation. Although within the page we might provide guidance in terms of SHOULD, MUST, etc., the content here is not normative.

The process to establish an embargo for a case can start in one of two ways:

  • Any participant can propose an embargo for a case. This is the most common way to establish an embargo.
  • The case owner can add an embargo to a case without proposing it first. In some circumstances, this might be an appropriate way to establish an embargo.


Embargo Management in Vultron

The Vultron protocol contains quite a bit of detail about Embargo Management and how participants are expected to interact with embargoes. Please refer to that section for more information.

Why would you add an embargo without asking first?

There are a few reasons why you might want to add an embargo to a case without asking first. For example, when the finder is also the case owner and hasn't invited any other participants to join the case yet, the finder can just add an embargo. Then when the finder invites others to join the case, the invited participants can decide whether to accept the embargo or not. This could be an appropriate way to address the concept of Default Embargoes.

flowchart TB
    subgraph as:Invite
        EmProposeEmbargo
    end
    subgraph as:Question
        ChoosePreferredEmbargo
    end
    subgraph as:Accept
        EmAcceptEmbargo
    end
    subgraph as:Reject
        EmRejectEmbargo
    end
    subgraph as:Announce
        AnnounceEmbargo
    end
    subgraph as:Add
        ActivateEmbargo
        AddEmbargoToCase
    end
    start([Start]) --> f{Ask first?}
    f -->|n| AddEmbargoToCase
    f -->|y| EmProposeEmbargo
    EmProposeEmbargo --> a{Accept?}
    a -->|y| EmAcceptEmbargo
    a -->|n| EmRejectEmbargo
    EmProposeEmbargo --> ChoosePreferredEmbargo
    ChoosePreferredEmbargo --> a
    EmAcceptEmbargo --> ActivateEmbargo
    AddEmbargoToCase --> AnnounceEmbargo
    ActivateEmbargo --> AnnounceEmbargo

Propose Embargo

An actor proposes an embargo to a case.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Invite",
  "id": "https://for.example/164b6cf7-a9c1-4af3-868b-0c1ee9e7c7e3",
  "name": "https://vultron.example/organizations/vendor Invite Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00 to https://vultron.example/cases/VDR-20991514",
  "context": null,
  "summary": "We propose to embargo case 1 for 90 days.",
  "actor": "https://vultron.example/organizations/vendor",
  "target": "https://vultron.example/cases/VDR-20991514",
  "object": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "EmbargoEvent",
    "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-10-07T00:00:00+00:00",
    "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
    "context": "https://vultron.example/cases/VDR-20991514",
    "startTime": "2024-07-09T20:17:00+00:00",
    "endTime": "2024-10-07T00:00:00+00:00",
    "published": "2024-07-09T20:17:18+00:00",
    "updated": "2024-07-09T20:17:18+00:00",
    "content": "We propose to embargo VENDOR Case #20991514 for 90 days."
  }
}

Choose Preferred Embargo

The vendor asks participants to choose an embargo from a list of embargo options.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Question",
  "id": "https://vultron.example/cases/1/polls/1",
  "context": "https://vultron.example/cases/VDR-20991514",
  "summary": "Please accept or reject each of the proposed embargoes.",
  "to": "https://vultron.example/cases/VDR-20991514/participants",
  "actor": "https://vultron.example/organizations/coordinator",
  "oneOf": [
    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "EmbargoEvent",
      "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-10-07T00:00:00+00:00",
      "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
      "context": "https://vultron.example/cases/VDR-20991514",
      "startTime": "2024-07-09T20:17:00+00:00",
      "endTime": "2024-10-07T00:00:00+00:00",
      "published": "2024-07-09T20:17:18+00:00",
      "updated": "2024-07-09T20:17:18+00:00",
      "content": "We propose to embargo VENDOR Case #20991514 for 90 days."
    },
    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "EmbargoEvent",
      "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-08-23T00:00:00+00:00",
      "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-08-23T00:00:00+00:00",
      "context": "https://vultron.example/cases/VDR-20991514",
      "startTime": "2024-07-09T20:17:00+00:00",
      "endTime": "2024-08-23T00:00:00+00:00",
      "published": "2024-07-09T20:17:18+00:00",
      "updated": "2024-07-09T20:17:18+00:00",
      "content": "We propose to embargo VENDOR Case #20991514 for 45 days."
    }
  ]
}

Accept Embargo

An actor accepts an embargo proposal.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Accept",
  "id": "https://for.example/a69e37bf-b100-4d6c-bf1a-c5122b6c013f",
  "name": "https://vultron.example/organizations/vendor Accept Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
  "context": "https://vultron.example/cases/1",
  "inReplyTo": "https://vultron.example/cases/1/polls/1",
  "to": "https://vultron.example/cases/1/participants",
  "actor": "https://vultron.example/organizations/vendor",
  "object": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "EmbargoEvent",
    "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-10-07T00:00:00+00:00",
    "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
    "context": "https://vultron.example/cases/VDR-20991514",
    "startTime": "2024-07-09T20:17:00+00:00",
    "endTime": "2024-10-07T00:00:00+00:00",
    "published": "2024-07-09T20:17:18+00:00",
    "updated": "2024-07-09T20:17:18+00:00",
    "content": "We propose to embargo VENDOR Case #20991514 for 90 days."
  }
}

Reject Embargo

An actor rejects an embargo proposal.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Reject",
  "id": "https://for.example/293adb0a-4937-4ac8-8ffc-918ae1e44dec",
  "name": "https://vultron.example/organizations/vendor Reject Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-08-23T00:00:00+00:00",
  "context": "https://vultron.example/cases/1",
  "inReplyTo": "https://vultron.example/cases/1/polls/1",
  "to": "https://vultron.example/cases/1/participants",
  "actor": "https://vultron.example/organizations/vendor",
  "object": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "EmbargoEvent",
    "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-08-23T00:00:00+00:00",
    "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-08-23T00:00:00+00:00",
    "context": "https://vultron.example/cases/VDR-20991514",
    "startTime": "2024-07-09T20:17:00+00:00",
    "endTime": "2024-08-23T00:00:00+00:00",
    "published": "2024-07-09T20:17:18+00:00",
    "updated": "2024-07-09T20:17:18+00:00",
    "content": "We propose to embargo VENDOR Case #20991514 for 45 days."
  }
}

Add Embargo to Case

The case owner adds an embargo to the case. This is the generic form of activating an embargo, and is mainly included to allow for a case owner to add an embargo to a case without having to first propose the embargo to the case. In most cases, the case owner will activate an embargo in response to an embargo proposal.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Add",
  "id": "https://for.example/dd073044-1689-45f7-9423-a699b13865ce",
  "name": "https://vultron.example/organizations/vendor Add Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00 to https://vultron.example/cases/VDR-20991514",
  "to": "https://vultron.example/cases/VDR-20991514/participants",
  "actor": "https://vultron.example/organizations/vendor",
  "target": "https://vultron.example/cases/VDR-20991514",
  "object": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "EmbargoEvent",
    "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-10-07T00:00:00+00:00",
    "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
    "context": "https://vultron.example/cases/VDR-20991514",
    "startTime": "2024-07-09T20:17:00+00:00",
    "endTime": "2024-10-07T00:00:00+00:00",
    "published": "2024-07-09T20:17:18+00:00",
    "updated": "2024-07-09T20:17:18+00:00",
    "content": "We propose to embargo VENDOR Case #20991514 for 90 days."
  }
}

Activate Embargo

The case owner activates an embargo. This is a special case of adding an embargo to a case, performed in reply to an embargo proposal.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Add",
  "id": "https://for.example/787770be-c192-430f-bb03-16be0547aa48",
  "name": "https://vultron.example/organizations/vendor Add Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00 to https://vultron.example/cases/VDR-20991514",
  "inReplyTo": "https://for.example/46e365d8-f988-4d5f-a3ae-47099e151c2f",
  "to": "https://vultron.example/cases/VDR-20991514/participants",
  "actor": "https://vultron.example/organizations/vendor",
  "target": "https://vultron.example/cases/VDR-20991514",
  "object": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "EmbargoEvent",
    "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-10-07T00:00:00+00:00",
    "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
    "context": "https://vultron.example/cases/VDR-20991514",
    "startTime": "2024-07-09T20:17:00+00:00",
    "endTime": "2024-10-07T00:00:00+00:00",
    "published": "2024-07-09T20:17:18+00:00",
    "updated": "2024-07-09T20:17:18+00:00",
    "content": "We propose to embargo VENDOR Case #20991514 for 90 days."
  }
}

Announce Embargo

The case owner announces an embargo to the case. This is meant to remind case participants of the embargo terms.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "asType": "Announce",
  "id": "https://for.example/d594e074-631f-4715-bcd6-7b83af404266",
  "name": "https://vultron.example/organizations/vendor Announce Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
  "context": "https://vultron.example/cases/VDR-20991514",
  "to": "https://vultron.example/cases/VDR-20991514/participants",
  "actor": "https://vultron.example/organizations/vendor",
  "object": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "EmbargoEvent",
    "id": "https://vultron.example/cases/VDR-20991514/embargo_events/2024-10-07T00:00:00+00:00",
    "name": "Embargo for https://vultron.example/cases/VDR-20991514 start: 2024-07-09T20:17:00+00:00 end: 2024-10-07T00:00:00+00:00",
    "context": "https://vultron.example/cases/VDR-20991514",
    "startTime": "2024-07-09T20:17:00+00:00",
    "endTime": "2024-10-07T00:00:00+00:00",
    "published": "2024-07-09T20:17:18+00:00",
    "updated": "2024-07-09T20:17:18+00:00",
    "content": "We propose to embargo VENDOR Case #20991514 for 90 days."
  }
}

Announce Embargo

The AnnounceEmbargo activity is used to indicate that an embargo has been established or to remind participants of its status. It is used to announce the embargo to the case participants. It is also used to draw attention to significant changes to the embargo status over and above the corresponding CaseStatus messages, such as when an embargo is deactivated or removed from a case.