{"title":"Endorsement","description":"Mark tables and catalogs as verified, draft, or excluded to steer which data AI agents prefer and discover.","order":30,"navigation":true,"body":{"code":"var Component=(()=>{var m=Object.create;var o=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var p=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),w=(n,e)=>{for(var a in e)o(n,a,{get:e[a],enumerable:!0})},i=(n,e,a,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of g(e))!b.call(n,r)&&r!==a&&o(n,r,{get:()=>e[r],enumerable:!(s=f(e,r))||s.enumerable});return n};var v=(n,e,a)=>(a=n!=null?m(x(n)):{},i(e||!n||!n.__esModule?o(a,\"default\",{value:n,enumerable:!0}):a,n)),y=n=>i(o({},\"__esModule\",{value:!0}),n);var d=p((I,l)=>{l.exports=_jsx_runtime});var D={};w(D,{default:()=>u,frontmatter:()=>E});var t=v(d()),E={title:\"Endorsement\",description:\"Mark tables and catalogs as verified, draft, or excluded to steer which data AI agents prefer and discover.\",order:30};function h(n){let e={a:\"a\",h1:\"h1\",h2:\"h2\",li:\"li\",p:\"p\",strong:\"strong\",ul:\"ul\",...n.components},{DocsPreviewDocument:a,DocsPreviewSection:s,DocsTable:r}=e;return a||c(\"DocsPreviewDocument\",!0),s||c(\"DocsPreviewSection\",!0),r||c(\"DocsTable\",!0),(0,t.jsxs)(a,{anchors:\"endorsement excluded-data-stays-reachable catalog-level endorsement-is-not-a-permission learn-more\",children:[(0,t.jsxs)(s,{sectionId:\"endorsement\",anchors:\"\",ancestors:\"\",index:\"0\",children:[(0,t.jsx)(e.h1,{id:\"endorsement\",children:\"Endorsement\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Endorsement tells AI agents which tables to reach for first. Each table has one of three statuses, set from the \",(0,t.jsx)(e.strong,{children:\"Endorsement\"}),\" menu on a table or catalog:\"]}),`\n`,(0,t.jsx)(r,{columns:[\"Status\",\"Effect on agents\"],data:[{Status:\"Verified\",\"Effect on agents\":\"Preferred when several tables could answer.\"},{Status:\"Draft\",\"Effect on agents\":\"The default. Fully usable, with no preference either way.\"},{Status:\"Excluded\",\"Effect on agents\":\"Omitted from default discovery. Used only when the request names it.\"}]}),`\n`,(0,t.jsx)(e.p,{children:\"Statuses are set per environment, so a table can be verified in production and draft in staging.\"}),`\n`]}),(0,t.jsxs)(s,{sectionId:\"excluded-data-stays-reachable\",anchors:\"\",ancestors:\"\",index:\"1\",children:[(0,t.jsx)(e.h2,{id:\"excluded-data-stays-reachable\",children:\"Excluded data stays reachable\"}),`\n`,(0,t.jsx)(e.p,{children:\"Excluding a table keeps it out of what agents discover on their own. The table is not deleted, and when a request names it, the agent can still query it.\"}),`\n`,(0,t.jsx)(e.p,{children:\"Semantic metrics stay available even when they are built on an excluded table.\"}),`\n`]}),(0,t.jsxs)(s,{sectionId:\"catalog-level\",anchors:\"\",ancestors:\"\",index:\"2\",children:[(0,t.jsx)(e.h2,{id:\"catalog-level\",children:\"Catalog level\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"An \",(0,t.jsx)(e.a,{href:\"/docs/lakehouse/catalogs\",children:\"Altertable catalog\"}),\" or \",(0,t.jsx)(e.a,{href:\"/docs/lakehouse/external-catalogs\",children:\"external catalog\"}),\" has its own endorsement status. Tables discovered later inherit it. Setting a catalog's status overwrites the status of its existing tables, so review table statuses before you change a catalog that mixes them.\"]}),`\n`,(0,t.jsx)(e.p,{children:\"Excluded catalogs are left out of the catalog lists agents see. They stay usable by name.\"}),`\n`]}),(0,t.jsxs)(s,{sectionId:\"endorsement-is-not-a-permission\",anchors:\"\",ancestors:\"\",index:\"3\",children:[(0,t.jsx)(e.h2,{id:\"endorsement-is-not-a-permission\",children:\"Endorsement is not a permission\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Endorsement steers agents. It does not control who can read data. A user or service account with access to a catalog can still query an excluded table. To restrict access, assign \",(0,t.jsx)(e.a,{href:\"/docs/administration/access-control\",children:\"catalog roles\"}),\".\"]}),`\n`]}),(0,t.jsxs)(s,{sectionId:\"learn-more\",anchors:\"\",ancestors:\"\",index:\"4\",children:[(0,t.jsx)(e.h2,{id:\"learn-more\",children:\"Learn more\"}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.a,{href:\"/docs/lakehouse/catalogs\",children:\"Catalogs\"})}),\": Create hosted catalogs\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.a,{href:\"/docs/lakehouse/external-catalogs\",children:\"Connect existing data\"})}),\": Connect external catalogs\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.a,{href:\"/docs/administration/access-control\",children:\"Access control\"})}),\": Restrict who can read data\"]}),`\n`]})]})]})}function u(n={}){let{wrapper:e}=n.components||{};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(h,{...n})}):h(n)}function c(n,e){throw new Error(\"Expected \"+(e?\"component\":\"object\")+\" `\"+n+\"` to be defined: you likely forgot to import, pass, or provide it.\")}return y(D);})();\n;return Component;"},"_id":"docs/lakehouse/endorsement.mdx","_raw":{"sourceFilePath":"docs/lakehouse/endorsement.mdx","sourceFileName":"endorsement.mdx","sourceFileDir":"docs/lakehouse","contentType":"mdx","flattenedPath":"docs/lakehouse/endorsement"},"type":"Docs","path":"/lakehouse/endorsement","level":2,"parent":"lakehouse"}