{"productionTouched":false,"databaseTouched":false,"rawImageUploadAllowed":false,"rawImageStorageAllowed":false,"providerExecutionAllowed":false,"networkExecutionAllowed":false,"credentialAccessAllowed":false,"tokenAccessAllowed":false,"n8nExecutionAllowed":false,"googleContactsWriteAllowed":false,"completionNotificationAllowed":false,"featureFlagEnabled":false,"adapterEnabled":false,"localSkeletonOnly":true,"endpoints":[{"method":"GET","path":"/contact-capture/ocr-provider-adapter-skeleton-policy"},{"method":"POST","path":"/contact-capture/ocr-provider-adapter-skeleton-check"}],"adapterModule":{"moduleName":"contactCaptureOcrProviderAdapter","factoryName":"createContactCaptureOcrProviderAdapter","defaultFeatureFlagName":"CONTACT_CAPTURE_OCR_PROVIDER_ADAPTER_ENABLED","defaultEnabled":false,"disabledExtractTextResult":"ocr_adapter_disabled"},"requiredEvidence":["upload/OCR owner review packet reference","upload/OCR packet fingerprint","reference-only provider credential owner","retention policy reference","redaction policy reference","operator review requirement after OCR","default-off adapter behavior confirmation","blocked runtime result envelope confirmation"],"blockedActions":["upload raw image bytes","store raw images","call OpenAI Vision or Google Cloud Vision","wire an HTTP client","read credentials or OAuth tokens","execute n8n or Contacts Agent","write Google Contacts","write a database","touch production","send completion notifications"],"stopConditions":["The check input includes raw image bytes or data URLs.","The adapter would enable a feature flag or provider call.","The adapter would access credentials, tokens, HTTP clients, n8n, Google Contacts, a database, production, or notification transport.","The blocked adapter result is treated as verified OCR text."],"nextStep":"Use this check to prove the future OCR provider adapter remains default-off before any separate owner-approved implementation window."}