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.