{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "UDify local integration guides",
  "home_page_url": "https://universaldocument.org/developers/udify/",
  "feed_url": "https://universaldocument.org/developers/udify/feed.json",
  "items": [
    {
      "id": "filesystem",
      "url": "https://universaldocument.org/developers/udify/integrations/filesystem/",
      "title": "Keep an exact local file inside a portable UD package",
      "content_text": "Choose one existing file, not a directory. The filesystem adapter accepts its bytes, calculates SHA-256 and packages them without opening the source application. Export a UDS for a hash-sealed snapshot or UDR while the package changes. Keep the original file as well as the package. A recipient can verify the embedded bytes with the CLI and extract the exact raw UD from the browser-ready copy. A matching hash does not say that the original file was correct, safe or authored by a particular person."
    },
    {
      "id": "github-artifact",
      "url": "https://universaldocument.org/developers/udify/integrations/github-artifact/",
      "title": "Package a build artifact without adding an upload service",
      "content_text": "Run the private composite action inside a checkout on your own runner. Give it a workspace-relative input file and a new output directory. It writes document.uds, document.uds.html, manifest.json and verification-bundle.json. The action rejects paths outside the workspace and will not overwrite an output directory. It invokes the same canonical adapter as the CLI; it does not create a second signing system. Review those outputs before choosing your own release distribution mechanism. This is runner-local packaging, not a GitHub attestation, GitHub endorsement or a verified remote workflow. Runner and storage costs remain the operator’s responsibility."
    },
    {
      "id": "wordpress-export",
      "url": "https://universaldocument.org/developers/udify/integrations/wordpress-export/",
      "title": "Preserve the WXR export, not a claim to the whole website",
      "content_text": "Export WXR through the site tools you already control. Pass that existing XML file to the wordpress-export adapter. It checks for WXR-shaped RSS and rejects entity declarations, then preserves the exact bytes. Verify the UD package locally and keep the WXR for any later import using WordPress itself. The UD adapter does not log into the site, execute XML or fetch linked media. An export can omit files, plugins, themes or later edits. The package cannot establish that the export was complete, authentic or equivalent to a backup."
    },
    {
      "id": "storage-export",
      "url": "https://universaldocument.org/developers/udify/integrations/storage-export/",
      "title": "Check a storage export without moving it into Empire storage",
      "content_text": "Use your existing authorized storage tool to download the object first. Package those bytes through storage-export and keep the verification bundle alongside the original. If you implement the customer-owned storage callback, run it on infrastructure you control, explicitly obtain consent and review the provider account’s terms and caps. The shipped adapter has no default upload endpoint or credentials. Storage ownership is not inferred from a callback flag. This workflow does not prove bucket history, retention policy or chain of custody."
    },
    {
      "id": "automation-output",
      "url": "https://universaldocument.org/developers/udify/integrations/automation-output/",
      "title": "Package automation output before handing it to another person",
      "content_text": "Pass completed output bytes from your existing automation to importExport. Choose UDS for a snapshot, verify it immediately, and distribute the browser-ready copy through a channel you authorize. A later output can be packaged separately and compared by source hash. The comparison explicitly does not prove a parent-child revision chain. If a webhook is part of your own system, validate it there before passing bytes into this local adapter. No public webhook receiver, workflow hosting or automatic sending is activated. The adapter does not authenticate the producing system."
    }
  ]
}