This scenario builds on an existing Connector, Destination and Stream. If you have not configured a Source yet, start from the connector-specific collection guides. Follow the concrete steps below and verify actual Logs and Destination/quarantine evidence. Existing test screenshots are illustrative, not runtime proof.
Release state, checkpoint implications, delivery evidence if applicable
Discard
The event must not be forwarded
Discarded state, no receiver-side event
Replay
Reprocessing is authorized and safe
Replay record and outcome; check for duplicate downstream events
Select the action shown for your account.
Read the confirmation dialog; Release may advance Stream checkpoints.
Confirm once. Record the resulting status, audit entry, and any linked Replay item.
For Replay, verify actual downstream delivery separately. A replay request or queue state is not proof of successful delivery.
Release/Replay can change downstream state or duplicate a previously delivered event. Only use unique synthetic IDs in this walkthrough, and apply organizational approval for any real data.
PASS = one held event is visible with the correct reason; the authorized operator’s selected action is recorded; any actual delivery is corroborated in Route Logs and receiver data. If an action is denied, preserve that evidence — do not bypass RBAC.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DataRelay Control","description":"Data delivery, route processing, protection, and operational control for enterprise data flows.","colors":{"primary":"#C2410C","light":"#FB923C","dark":"#C75A00"},"logo":{"light":"https://mintcdn.com/datarelay-control/tSouZfeXx238dWIU/logo/light.svg?fit=max\u0026auto=format\u0026n=tSouZfeXx238dWIU\u0026q=85\u0026s=dbaae21bf2f930ba9c91c5c6f56131d1","dark":"https://mintcdn.com/datarelay-control/tSouZfeXx238dWIU/logo/dark.svg?fit=max\u0026auto=format\u0026n=tSouZfeXx238dWIU\u0026q=85\u0026s=e2996dc158fb10355bb1f62a7c5ea1a7","href":"https://control.datarelay.run"},"favicon":"https://mintcdn.com/datarelay-control/tSouZfeXx238dWIU/favicon.svg?fit=max\u0026auto=format\u0026n=tSouZfeXx238dWIU\u0026q=85\u0026s=712ef0b5b0545ce5dea415ca5ef77cf9","appearance":{"default":"system","strict":false},"navbar":{"links":[{"href":"https://datarelay.run/","label":"DataRelay"},{"href":"https://link.datarelay.run/","label":"Link"},{"href":"https://control.datarelay.run/","label":"Control"},{"href":"https://grant.datarelay.run/","label":"Grant"},{"href":"https://engineering.datarelay.run/","label":"Engineering"},{"href":"https://github.com/datarelay-labs/datarelay-control","type":"github"}]},"search":{"prompt":"Search DataRelay Control docs..."},"seo":{"metatags":{"canonical":"https://control.datarelay.run"},"indexing":"navigable"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"ko","href":"ko"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"datarelay-control","hasAudioNarration":false,"actualSubdomain":"datarelay-control","customDomains":["control.datarelay.run"],"gitSource":{"type":"github","owner":"datarelay-labs","repo":"datarelay-control-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad4f6dd6410502f2e4657ca","collectionId":"3cd9860b-3224-48a0-9710-00991a4cf6c9","liveDeploymentHistoryId":"6ad4f6dd6410502f2e4657ca","schemaVersion":"v3"},"entitlements":{},"buildId":"6ad4f6dd6410502f2e4657ca","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"en","tag":"Step-by-step Use Cases","count":17},{"language":"ko","tag":"활용 사례별 따라하기","count":17},{"language":"en","tag":"Reference","count":8},{"language":"ko","tag":"참고","count":8},{"language":"en","tag":"Getting Started","count":7},{"language":"ko","tag":"시작하기","count":7},{"language":"en","tag":"Operations","count":4},{"language":"ko","tag":"운영","count":4},{"language":"en","tag":"Administration","count":3},{"language":"ko","tag":"관리","count":3},{"language":"en","tag":"Deployment","count":2},{"language":"en","tag":"Processing \u0026 Governance","count":2},{"language":"en","tag":"Security","count":2},{"language":"ko","tag":"배포","count":2},{"language":"ko","tag":"처리 \u0026 Governance","count":2},{"language":"ko","tag":"보안","count":2},{"language":"en","tag":"Roadmap","count":1},{"language":"ko","tag":"로드맵","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--dr-brand:#C2410C;--dr-brand-hover:#9A3412;--dr-brand-soft:#FFF7ED;--dr-product-accent:#047857;--dr-bg:#FFFFFF;--dr-surface:#FFFFFF;--dr-surface-subtle:#FAFAF9;--dr-ink:#1C1917;--dr-muted:#57534E;--dr-border:#E7E5E4;--dr-border-strong:#D6D3D1;--dr-shadow-sm:0 1px 2px rgb(28 25 23 / 0.05);--dr-shadow-md:0 14px 34px rgb(28 25 23 / 0.09);--dr-radius-sm:10px;--dr-radius-md:16px;--dr-radius-lg:24px}.dark{--dr-brand:#FB923C;--dr-brand-hover:#FDBA74;--dr-brand-soft:#2A160D;--dr-product-accent:#34D399;--dr-bg:#0C0A09;--dr-surface:#141210;--dr-surface-subtle:#1C1917;--dr-ink:#FAFAF9;--dr-muted:#C7C2BC;--dr-border:#292524;--dr-border-strong:#44403C;--dr-shadow-sm:0 1px 2px rgb(0 0 0 / 0.25);--dr-shadow-md:0 18px 42px rgb(0 0 0 / 0.32)}html{scroll-behavior:smooth}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#navbar-transition{background:rgb(255 255 255/.9)!important;border-color:rgb(120 113 108/.16)!important;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}.dark #navbar-transition{background:rgb(12 10 9/.88)!important;border-color:rgb(231 229 228/.1)!important}.nav-logo{height:2rem!important}body,main h1,main h2{color:var(--dr-ink)}main h1{letter-spacing:-.038em;font-weight:760;line-height:1.08}main h2{letter-spacing:-.025em;font-weight:700}main h3{letter-spacing:-.015em}main li,main p{line-height:1.72}main blockquote{border-left:3px solid var(--dr-product-accent)!important;background:var(--dr-surface-subtle);border-radius:0 var(--dr-radius-sm) var(--dr-radius-sm) 0;padding:.8rem 1rem}main pre{border:1px solid var(--dr-border)!important;border-radius:var(--dr-radius-md)!important;box-shadow:var(--dr-shadow-sm)}main table{border-color:var(--dr-border)!important;border-radius:var(--dr-radius-sm)}.dr-hero-kicker{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.42rem .7rem;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.72rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.dark .dr-hero-kicker{border-color:#7c2d12;background:#2a160d;color:#fdba74}.dr-hero-kicker+h1{max-width:950px;margin-top:0!important;font-size:clamp(2.7rem,6vw,4.85rem)!important;line-height:.98!important;letter-spacing:-.055em!important}.dr-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.55rem 0 1.35rem}.dr-button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;border-radius:.72rem;padding:.68rem 1rem;border:1px solid transparent;font-size:.9rem;font-weight:680;line-height:1;text-decoration:none!important;transition:transform 150ms ease,border-color 150ms ease,background-color 150ms ease,box-shadow 150ms ease}.dr-button:hover{transform:translateY(-1px)}.dr-button-primary{background:var(--dr-brand);color:#fff!important;box-shadow:0 6px 18px rgb(194 65 12/.2)}.dr-button-primary:hover{background:var(--dr-brand-hover)}.dark .dr-button-primary{color:#1c1917!important}.dr-button-secondary{background:var(--dr-surface);color:var(--dr-ink)!important;border-color:var(--dr-border-strong);box-shadow:var(--dr-shadow-sm)}.dr-button-secondary:hover{border-color:var(--dr-product-accent)}.dr-family-strip{display:flex;align-items:center;gap:.35rem;margin:0 0 2rem;padding:.4rem;width:fit-content;max-width:100%;overflow-x:auto;border:1px solid var(--dr-border);border-radius:.85rem;background:var(--dr-surface-subtle);scrollbar-width:none}.dr-family-strip::-webkit-scrollbar{display:none}.dr-family-strip .dr-family-current,.dr-family-strip a{display:inline-flex;align-items:center;min-height:2rem;padding:.42rem .68rem;border-radius:.56rem;white-space:nowrap;color:var(--dr-muted)!important;font-size:.78rem;font-weight:650;text-decoration:none!important}.dr-family-strip a:hover{color:var(--dr-ink)!important;background:var(--dr-surface)}.dr-family-strip .dr-family-current{color:#fff!important;background:var(--dr-product-accent);box-shadow:var(--dr-shadow-sm)}.dark .dr-family-strip .dr-family-current{color:#0c0a09!important}.card{border-color:var(--dr-border)!important;border-radius:var(--dr-radius-md)!important;background:var(--dr-surface)!important;box-shadow:var(--dr-shadow-sm);transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease!important}.card:hover{transform:translateY(-2px);border-color:var(--dr-product-accent)!important;box-shadow:var(--dr-shadow-md)}[data-component-part=card-title]{letter-spacing:-.012em}[data-component-part=card-icon]{color:var(--dr-product-accent)!important}.callout{border-radius:var(--dr-radius-md)!important}footer{border-top-color:var(--dr-border)!important}:where(a, button, input, select, textarea):focus-visible{outline:3px solid var(--dr-product-accent)!important;outline-offset:3px!important}@media (max-width:768px){.dr-hero-kicker+h1{font-size:clamp(2.35rem,13vw,3.55rem)!important}.dr-hero-actions{display:grid;grid-template-columns:1fr}.dr-button,.dr-family-strip{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.dr-button{transition:none!important}.card:hover,.dr-button:hover{transform:none}}"}],"page":{"pagePath":"use-cases/quarantine-replay","slug":"/use-cases/quarantine-replay","pageMetadata":{"title":"Quarantine, Review, and Replay","description":"Hold a synthetic event, inspect the investigation record, then perform a permitted action.","href":"/use-cases/quarantine-replay"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Hold a synthetic event, inspect the investigation record, then perform a permitted action.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`quarantine-review-and-replay`,children:`Quarantine, Review, and Replay`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Goal:`}),` prevent an event from reaching a Destination until an operator reviews the policy decision, then track the chosen action.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-this-scenario`,children:`When to use this scenario`}),`\n`,_jsxs(_components.p,{children:[`This scenario builds on an existing Connector, Destination and Stream. If you have not configured a Source yet, start from the `,_jsx(_components.a,{href:`/use-cases/index`,children:`connector-specific collection guides`}),`. Follow the concrete steps below and verify `,_jsx(_components.strong,{children:`actual Logs and Destination/quarantine evidence`}),`. Existing test screenshots are illustrative, not runtime proof.`]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-begin`,children:`Before you begin`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Start from a working Stream and Destination (`,_jsx(_components.a,{href:`/use-cases/webhook-first-flow`,children:`first delivery`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Use only synthetic fields, for example `,_jsx(_components.code,{children:`api_key = demo-not-a-secret`}),`.`]}),`\n`,_jsx(_components.li,{children:`Your role must be authorized for the desired Governance action. Viewer/read-only roles can inspect without release/replay permissions.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-configure-a-rule-that-holds-an-event`,children:`1. Configure a rule that holds an event`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Stream Edit → Route Processing → Protection / Policy`}),` for the selected Route.`]}),`\n`,_jsxs(_components.li,{children:[`Choose an existing field such as `,_jsx(_components.code,{children:`api_key`}),` in the sample/observed schema.`]}),`\n`,_jsxs(_components.li,{children:[`Set a suitable protection action and choose event-level `,_jsx(_components.strong,{children:`Quarantine`}),` behavior.`]}),`\n`,_jsx(_components.li,{children:`Save the complete rule, verify its effective scope and warnings, and deploy the configuration.`}),`\n`,_jsx(_components.li,{children:`Send a uniquely identified synthetic event, such as:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"quarantine-001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"api_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"demo-not-a-secret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hold for review\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`2-find-and-investigate-the-held-event`,children:`2. Find and investigate the held event`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Governance → Quarantine`}),` (`,_jsx(_components.code,{children:`/governance/quarantine`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.strong,{children:`24h / 7d / 30d`}),` time window and status/severity filters as needed.`]}),`\n`,_jsx(_components.li,{children:`Select the quarantined entry to open its investigation detail. Compare event ID, Stream/Route, violation reason, status, and related records.`}),`\n`,_jsxs(_components.li,{children:[`Check `,_jsx(_components.strong,{children:`Logs`}),` for the associated policy/delivery outcome. A quarantined event must not be reported as a successful Destination receipt.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-choose-one-permitted-action`,children:`3. Choose one permitted action`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Appropriate when`}),_jsx(_components.th,{children:`What to verify`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Release`})}),_jsx(_components.td,{children:`The event is approved under policy`}),_jsx(_components.td,{children:`Release state, checkpoint implications, delivery evidence if applicable`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Discard`})}),_jsx(_components.td,{children:`The event must not be forwarded`}),_jsx(_components.td,{children:`Discarded state, no receiver-side event`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Replay`})}),_jsx(_components.td,{children:`Reprocessing is authorized and safe`}),_jsx(_components.td,{children:`Replay record and outcome; check for duplicate downstream events`})]})]})]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Select the action shown for your account.`}),`\n`,_jsxs(_components.li,{children:[`Read the confirmation dialog; `,_jsx(_components.strong,{children:`Release may advance Stream checkpoints`}),`.`]}),`\n`,_jsx(_components.li,{children:`Confirm once. Record the resulting status, audit entry, and any linked Replay item.`}),`\n`,_jsx(_components.li,{children:`For Replay, verify actual downstream delivery separately. A replay request or queue state is not proof of successful delivery.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Release/Replay can change downstream state or duplicate a previously delivered event. Only use unique synthetic IDs in this walkthrough, and apply organizational approval for any real data.`})}),`\n`,_jsx(Heading,{level:`2`,id:`completion-check`,children:`Completion check`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`PASS =`}),` one held event is visible with the correct reason; the authorized operator’s selected action is recorded; any actual delivery is corroborated in Route Logs and receiver data. If an action is denied, preserve that evidence — do not bypass RBAC.`]}),`\n`,_jsx(Heading,{level:`2`,id:`if-it-fails`,children:`If it fails`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No Quarantine entry:`}),` check that the policy is effective, the event field/path matches, and the Stream actually ran.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Action disabled/403:`}),` use an authorized Operator/Administrator account; do not bypass permissions.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Replay exists but sink is empty:`}),` investigate failure status, Destination availability, and replay result independently.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Duplicate risk:`}),` correlate by event ID before taking further action.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Related:`}),` `,_jsx(_components.a,{href:`/governance/overview`,children:`Governance`}),`, `,_jsx(_components.a,{href:`/use-cases/delivery-incident`,children:`Delivery incident`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Quarantine, Review, and Replay","description":"Hold a synthetic event, inspect the investigation record, then perform a permitted action.","href":"/use-cases/quarantine-replay"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Quarantine, Review, and Replay","slug":"quarantine-review-and-replay","depth":1,"children":[]},{"title":"When to use this scenario","slug":"when-to-use-this-scenario","depth":2,"children":[]},{"title":"Before you begin","slug":"before-you-begin","depth":2,"children":[]},{"title":"1. Configure a rule that holds an event","slug":"1-configure-a-rule-that-holds-an-event","depth":2,"children":[]},{"title":"2. Find and investigate the held event","slug":"2-find-and-investigate-the-held-event","depth":2,"children":[]},{"title":"3. Choose one permitted action","slug":"3-choose-one-permitted-action","depth":2,"children":[]},{"title":"Completion check","slug":"completion-check","depth":2,"children":[]},{"title":"If it fails","slug":"if-it-fails","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"datarelay-control","siteName":"DataRelay Control","title":"Quarantine, Review, and Replay - DataRelay Control","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/use-cases/quarantine-replay","matchLevel":0},"ko":{"href":"/ko/use-cases/quarantine-replay","matchLevel":1}}},"lastModified":"2026-10-18T16:42:11.407Z","gitLastModified":"2026-10-18T16:42:01.000Z","originalFileLocation":"use-cases/quarantine-replay.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Hold a synthetic event, inspect the investigation record, then perform a permitted action.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DataRelay Control\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quarantine, Review, and Replay - DataRelay Control\">\u003cmeta data-mint-head property=\"og:description\" content=\"Hold a synthetic event, inspect the investigation record, then perform a permitted action.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DataRelay Control\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://control.datarelay.run/use-cases/quarantine-replay\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://datarelay-control.mintlify.app/_mintlify/api/og/v2?division=Step-by-step+Use+Cases\u0026amp;title=Quarantine%2C+Review%2C+and+Replay\u0026amp;description=Hold+a+synthetic+event%2C+inspect+the+investigation+record%2C+then+perform+a+permitted+action.\u0026amp;theme=49091afdb5ce7328bec07c83\u0026amp;signature=315e72226c2787d179a0f59febc78b2a9308e75d6d3d4d6c93476755a01a7360\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Quarantine, Review, and Replay - DataRelay Control\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Hold a synthetic event, inspect the investigation record, then perform a permitted action.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://datarelay-control.mintlify.app/_mintlify/api/og/v2?division=Step-by-step+Use+Cases\u0026amp;title=Quarantine%2C+Review%2C+and+Replay\u0026amp;description=Hold+a+synthetic+event%2C+inspect+the+investigation+record%2C+then+perform+a+permitted+action.\u0026amp;theme=49091afdb5ce7328bec07c83\u0026amp;signature=315e72226c2787d179a0f59febc78b2a9308e75d6d3d4d6c93476755a01a7360\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/datarelay-control/Jay7lA66uQT7y97k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DataRelay Control\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#C2410C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://control.datarelay.run/use-cases/quarantine-replay\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/use-cases/quarantine-replay.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://control.datarelay.run/use-cases/quarantine-replay\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://control.datarelay.run/ko/use-cases/quarantine-replay\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://control.datarelay.run/use-cases/quarantine-replay\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://control.datarelay.run/#organization\",\"name\":\"DataRelay Control\",\"url\":\"https://control.datarelay.run\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/datarelay-control/tSouZfeXx238dWIU/logo/light.svg?fit=max\u0026auto=format\u0026n=tSouZfeXx238dWIU\u0026q=85\u0026s=dbaae21bf2f930ba9c91c5c6f56131d1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://control.datarelay.run#website\",\"name\":\"DataRelay Control\",\"url\":\"https://control.datarelay.run\",\"publisher\":{\"@id\":\"https://control.datarelay.run/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://control.datarelay.run/use-cases/quarantine-replay#webpage\",\"url\":\"https://control.datarelay.run/use-cases/quarantine-replay\",\"name\":\"Quarantine, Review, and Replay\",\"description\":\"Hold a synthetic event, inspect the investigation record, then perform a permitted action.\",\"dateModified\":\"2026-10-18T16:42:01.000Z\",\"isPartOf\":{\"@id\":\"https://control.datarelay.run#website\"},\"breadcrumb\":{\"@id\":\"https://control.datarelay.run/use-cases/quarantine-replay#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://control.datarelay.run/use-cases/quarantine-replay#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Step-by-step Use Cases\",\"item\":\"https://control.datarelay.run/use-cases/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quarantine, Review, and Replay\",\"item\":\"https://control.datarelay.run/use-cases/quarantine-replay\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://control.datarelay.run/use-cases/quarantine-replay#article\",\"headline\":\"Quarantine, Review, and Replay\",\"name\":\"Quarantine, Review, and Replay\",\"description\":\"Hold a synthetic event, inspect the investigation record, then perform a permitted action.\",\"url\":\"https://control.datarelay.run/use-cases/quarantine-replay\",\"mainEntityOfPage\":{\"@id\":\"https://control.datarelay.run/use-cases/quarantine-replay#webpage\"},\"dateModified\":\"2026-10-18T16:42:01.000Z\",\"publisher\":{\"@id\":\"https://control.datarelay.run/#organization\"},\"isPartOf\":{\"@id\":\"https://control.datarelay.run#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DataRelay Control\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DataRelay Control","nav":{"global":null,"languages":[{"language":"en","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"DataRelay Control","href":""},{"title":"Overview","href":"/getting-started/overview"},{"title":"Architecture","href":"/getting-started/architecture"},{"title":"Quick Start","href":"/getting-started/quickstart"},{"title":"First Login","href":"/getting-started/first-login"},{"title":"First Stream","href":"/getting-started/first-stream"},{"title":"DataRelay Link Relationship","href":"/getting-started/data-relay-link"}]},{"group":"Step-by-step Use Cases","icon":"book","pages":[{"title":"Hands-on Use Cases","href":"/use-cases/index"},{"title":"Follow the Stream Wizard with Screenshots","href":"/use-cases/screen-walkthrough"},{"title":"Prepare a Safe Lab","href":"/use-cases/lab-setup"},{"title":"Webhook to First Delivered Event","href":"/use-cases/webhook-first-flow"},{"title":"Collect from an HTTP API","href":"/use-cases/http-api"},{"title":"Collect Events from PostgreSQL","href":"/use-cases/postgresql-collection"},{"title":"Collect Logs from S3 or MinIO","href":"/use-cases/s3-object-collection"},{"title":"Collect Files over SFTP","href":"/use-cases/sftp-file-collection"},{"title":"One Stream, Two Destinations","href":"/use-cases/multi-destination"},{"title":"Mask Data for Only One Route","href":"/use-cases/protect-pii"},{"title":"Handle Schema Changes","description":"Inspect Union Schema and select an explicit policy for new or sensitive fields.","href":"/use-cases/schema-change"},{"title":"Quarantine, Review, and Replay","href":"/use-cases/quarantine-replay"},{"title":"Recover from a Delivery Failure","description":"Use a controlled HTTP 503, inspect Route evidence, and prove recovery without losing sight of checkpoint semantics.","href":"/use-cases/delivery-incident"},{"title":"Find, Save, and Export Delivery Evidence","href":"/use-cases/logs-audit"},{"title":"Marketplace Package to Running Stream","href":"/use-cases/marketplace-install"},{"title":"Deliver Events to a Syslog Receiver","href":"/use-cases/syslog-delivery"},{"title":"Daily Operations Checklist","href":"/use-cases/daily-operations"}]},{"group":"Administration","icon":"gear","pages":[{"title":"Administration","href":"/administration/overview"},{"title":"Users \u0026 Roles","href":"/administration/users-roles"},{"title":"Connectors \u0026 Marketplace","href":"/administration/connectors-marketplace"}]},{"group":"Processing \u0026 Governance","icon":"route","pages":[{"title":"Route Processing","href":"/processing/route-processing"},{"title":"Governance","href":"/governance/overview"}]},{"group":"Operations","icon":"screwdriver-wrench","pages":[{"title":"Operations","href":"/operations/overview"},{"title":"Backup \u0026 Restore","href":"/operations/backup-restore"},{"title":"Upgrades","href":"/operations/upgrades"},{"title":"Troubleshooting","href":"/operations/troubleshooting"}]},{"group":"Deployment","icon":"server","pages":[{"title":"Deployment Requirements","href":"/deployment/requirements"},{"title":"Network, Reverse Proxy \u0026 TLS","href":"/deployment/network-tls"}]},{"group":"Security","icon":"shield-halved","pages":[{"title":"Security Overview","href":"/security/overview"},{"title":"Authentication \u0026 Authorization","href":"/security/authentication-authorization"}]},{"group":"Reference","icon":"book","pages":[{"title":"Configuration","href":"/reference/configuration"},{"title":"API Reference","href":"/reference/api"},{"title":"CLI \u0026 Operator Tools","href":"/reference/cli-tools"},{"title":"Data Model","href":"/reference/data-model"},{"title":"Release Status","href":"/reference/release-status"},{"title":"Known Limitations","href":"/reference/limitations"},{"title":"License","href":"/reference/license"},{"title":"Glossary","href":"/reference/glossary"}]},{"group":"Roadmap","icon":"map","pages":[{"title":"Current Status \u0026 Roadmap","href":"/roadmap/current-status"}]}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/use-cases/quarantine-replay"}]}]},"basePath":"","title":"Quarantine, Review, and Replay - DataRelay Control","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}