{
  "schema": "localendpoint.endpoint-plugin-submission-process.v1",
  "lastReviewedUtc": "2026-07-10T00:00:00Z",
  "humanGuideUrl": "/developers/plugins/",
  "catalogUrl": "/endpoint-plugin-catalog.json",
  "installManifestSchemaUrl": "/schemas/localendpoint.endpoint-plugin-install.schema.json",
  "submissionSchemaUrl": "/schemas/localendpoint.endpoint-plugin-submission.schema.json",
  "templateUrls": {
    "readme": "/downloads/plugins/README.md",
    "remoteEndpointsInstallManifest": "/downloads/plugins/remoteendpoints.com.plugin.template.json",
    "memoryEndpointsInstallManifest": "/downloads/plugins/memoryendpoints.com.plugin.template.json",
    "submissionPacket": "/downloads/plugins/localendpoint-plugin-submission-template.json",
    "starterKitZip": "/downloads/plugins/localendpoint-plugin-starter-kit.zip",
    "starterKitReadme": "/downloads/plugins/starter-kit/README.md",
    "proposedInstallManifest": "/downloads/plugins/starter-kit/proposed-endpoint.plugin.template.json",
    "proposedSubmissionPacket": "/downloads/plugins/starter-kit/proposed-endpoint-submission.template.json",
    "validationChecklist": "/downloads/plugins/starter-kit/validation-checklist.md",
    "starterKitInstallSchema": "/downloads/plugins/starter-kit/schemas/localendpoint.endpoint-plugin-install.schema.json",
    "starterKitSubmissionSchema": "/downloads/plugins/starter-kit/schemas/localendpoint.endpoint-plugin-submission.schema.json"
  },
  "currentSelectablePluginIds": [
    "remoteendpoints.com",
    "memoryendpoints.com"
  ],
  "localInstallPathTemplate": "%LOCALAPPDATA%\\LocalEndpoint\\Connect\\Plugins\\{pluginId}.plugin.json",
  "reviewPacketAssembly": [
    {
      "fileName": "{pluginId}.plugin.json",
      "description": "Validated install manifest copied from the starter kit or an accepted RemoteEndpoints.com or MemoryEndpoints.com template."
    },
    {
      "fileName": "{pluginId}-submission.json",
      "description": "Validated submission packet with catalog state, capability justification, privacy URL, threat summary, and evidence links."
    },
    {
      "fileName": "{pluginId}-schema-validation.txt",
      "description": "Redacted syntax and JSON Schema validation output for both manifest and submission packet."
    },
    {
      "fileName": "{pluginId}-connect-evidence.md",
      "description": "Settings > Plugins search, plugin detail, top-level Settings tab behavior for supported tab-ready plugins, and blocked or accepted intake findings."
    },
    {
      "fileName": "{pluginId}-privacy-boundary.md",
      "description": "What never leaves the local machine, which approvals stay local, and which materials are excluded."
    },
    {
      "fileName": "{pluginId}-threat-model.md",
      "description": "Denied actions, local approval gates, runtime authority posture, and why install metadata alone cannot run anything."
    }
  ],
  "acceptedRemoteEndpointsCapabilities": [
    "away-review",
    "protected-remote-messages",
    "remote-operator-approval"
  ],
  "acceptedMemoryEndpointsCapabilities": [
    "shared-agent-memory",
    "public-safe-memory-save",
    "hosted-memory-search",
    "agent-current-message-lane"
  ],
  "submissionSteps": [
    {
      "id": "download-starter-kit",
      "title": "Download the starter kit",
      "description": "Download the starter-kit ZIP or start from the starter-kit README, proposed install manifest template, proposed submission packet, and validation checklist instead of inventing fields."
    },
    {
      "id": "download-template",
      "title": "Use an accepted template for RemoteEndpoints.com or MemoryEndpoints.com",
      "description": "Use the matching accepted install manifest template for either current search-selectable plugin."
    },
    {
      "id": "validate-schema",
      "title": "Validate schemas",
      "description": "Validate the install manifest and submission packet against the bundled starter-kit schema copies or the published JSON Schemas."
    },
    {
      "id": "assemble-review-packet",
      "title": "Assemble the review packet folder",
      "description": "Create one {pluginId}-review-packet folder containing {pluginId}.plugin.json, {pluginId}-submission.json, {pluginId}-schema-validation.txt, {pluginId}-connect-evidence.md, {pluginId}-privacy-boundary.md, and {pluginId}-threat-model.md."
    },
    {
      "id": "capture-local-evidence",
      "title": "Capture local evidence",
      "description": "Use LocalEndpoint Connect to show plugin search, plugin detail, top-level Settings tab behavior for supported tab-ready plugins, and blocked/accepted intake findings."
    },
    {
      "id": "submit-review-packet",
      "title": "Submit review packet",
      "description": "Send the redacted submission JSON, manifest, capability notes, threat model, privacy statement, screenshots, and test evidence through the current LocalEndpoint review channel."
    },
    {
      "id": "wait-for-catalog-state",
      "title": "Wait for catalog state",
      "description": "A plugin is search-selectable or tab-ready only after review and catalog state agree with LocalEndpoint Connect intake behavior."
    }
  ],
  "requiredReviewArtifacts": [
    "install manifest",
    "submission packet",
    "review packet assembly folder",
    "starter-kit validation checklist",
    "capability justification",
    "privacy statement",
    "threat model summary",
    "schema validation evidence",
    "bundled starter-kit schema validation output",
    "LocalEndpoint Connect screenshots or exported evidence",
    "blocked/accepted intake findings"
  ],
  "deniedSubmissionMaterials": [
    "credentials",
    "private logs",
    "raw prompts",
    "generated private text",
    "localhost targets",
    "private network addresses",
    "command strings",
    "model files",
    "local endpoint data"
  ],
  "reviewOutcomes": [
    "accepted",
    "available",
    "planned",
    "blocked"
  ],
  "trustBoundary": "Plugin submission and catalog metadata do not grant runtime authority. LocalEndpoint Connect still requires local enablement, authentication where applicable, explicit approval, and approval policy."
}
