1"use strict";(globalThis.webpackChunkdocs_new=globalThis.webpackChunkdocs_new||[]).push([[7324],{28453:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>a});var s=r(96540);const n={},i=s.createContext(n);function c(e){const t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),s.createElement(i.Provider,{value:t},e.children)}},42055:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"pti/architecture-stack","title":"Trust Infrastructure Stack","description":"Layered architecture, applications, trust intelligence, PTI core, and data sources.","source":"@site/docs/pti/architecture-stack.md","sourceDirName":"pti","slug":"/pti/architecture-stack/","permalink":"/docs/pti/architecture-stack/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"Trust Infrastructure Stack","description":"Layered architecture, applications, trust intelligence, PTI core, and data sources.","sidebar_position":2,"slug":"/pti/architecture-stack/","displayed_sidebar":"ptiSidebar","hide_title":true,"hidePtiSpecIdentity":true},"sidebar":"ptiSidebar","previous":{"title":"PTI and TumiTrust","permalink":"/docs/pti/tumitrust-and-pti/"},"next":{"title":"PTI Reference Implementation","permalink":"/docs/pti/reference-implementation/"}}');var n=r(74848),i=r(28453);const c={title:"Trust Infrastructure Stack",description:"Layered architecture, applications, trust intelligence, PTI core, and data sources.",sidebar_position:2,slug:"/pti/architecture-stack/",displayed_sidebar:"ptiSidebar",hide_title:!0,hidePtiSpecIdentity:!0},a=void 0,d={}
1,l=[{value:"Diagram 1: Trust infrastructure stack",id:"diagram-1-trust-infrastructure-stack",level:2},{value:"Diagram 2: Traditional vs PTI model",id:"diagram-2-traditional-vs-pti-model",level:2},{value:"Component map",id:"component-map",level:2},{value:"Trust flow (end-to-end)",id:"trust-flow-end-to-end",level:2},{value:"Related",id:"related",level:2}];function o(e){const t={a:"a",h2:"h2",li:"li",mermaid:"mermaid",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{class:"pti-spec-hero",children:[(0,n.jsx)("p",{class:"pti-spec-hero__kicker",children:"Reference architecture"}),(0,n.jsx)("h1",{class:"pti-spec-hero__title",children:"Trust Infrastructure Stack"}),(0,n.jsx)("p",{class:"pti-spec-hero__lead",children:"How applications, intelligence services, PTI core contracts, and source data compose into portable trust infrastructure."}),(0,n.jsxs)("p",{class:"pti-spec-hero__meta",children:[(0,n.jsx)("span",{class:"pti-spec-badge",children:"Informative"})," ",(0,n.jsx)("span",{class:"pti-spec-badge pti-spec-badge--normative",children:"RFC-001"})]})]}),"\n",(0,n.jsxs)(t.p,{children:["This page is an ",(0,n.jsx)(t.strong,{children:"informative"})," stack view. Normative requirements are in ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-001-architecture",children:"RFC-001 Architecture"})," and ",(0,n.jsx)(t.a,{href:"/docs/pti/specification/v1.0/architecture",children:"Specification v1.0"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"diagram-1-trust-infrastructure-stack",children:"Diagram 1: Trust infrastru
1cture stack"}),"\n",(0,n.jsx)(t.mermaid,{value:"flowchart TB\n subgraph apps [Applications]\n L[Lending]\n E[Employment]\n C[Commerce]\n H[Housing]\n COM[Communities]\n end\n\n subgraph intel [Trust intelligence layer]\n TP[Trust profiles]\n TG[Trust graph]\n TR[Trust resolution]\n TA[Trust analytics]\n end\n\n subgraph pti [PTI layer]\n TE[Trust events]\n TC[Trust contexts]\n TX[Trust exchange]\n GV[Governance]\n end\n\n subgraph sources [Data sources]\n TXN[Transactions]\n REL[Relationships]\n ACT[Activities]\n VER[Verifications]\n end\n\n sources --\x3e pti\n pti --\x3e intel\n intel --\x3e apps"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Layer"}),(0,n.jsx)(t.th,{children:"Role"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.strong,{children:"Applications"})}),(0,n.jsx)(t.td,{children:"Decision workflows, underwriting, hiring, tenancy, merchant onboarding"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.strong,{children:"Trust intelligence"})}),(0,n.jsx)(t.td,{children:"Context scores, graph traversal, identity resolution, explainability"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.strong,{children:"PTI layer"})}),(0,n.jsx)(t.td,{children:"Normative events, contexts, exchange rules, consent and audit"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.strong,{children:"Data sources"})}),(0,n.jsx)(t.td,{children:"Raw activity from partners, registries, credentials, and verifications"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"diagram-2-traditional-vs-pti-model",children:"Diagram 2: Traditional vs PTI model"}),"\n",(0,n.jsx)(t.mermaid,{value:"flowchart TB\n subgraph traditional [Traditional model]\n direction TB\n P1[Person] --\x3e I1[Individual institution]\n I1 --\x3e R1[Isolated reputation / file]\n end\n\n subgraph pti_model [PTI model]\n direction TB\n P2[Person] --\x3e PROF[Portable trust profile]\n PROF --\x3e EC1[Lending ecosystem]\n PROF --\x3e EC2[Employment ecosystem]\n PROF --\x3e EC3[Commerce ecosystem]\n PROF --\x3e EC4[Community ecosystem]\n end"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Model"}),(0,n.jsx)(t.th,{children:"Characteristic"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.strong,{children:"Traditional"})}),(0,n.jsx)(t.td,{children:"Trust accumulates inside one institution; portability is manual and lossy"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.strong,{children:"PTI"})}),(0,n.jsx)(t.td,{children:"Trust profile persists across ecosystems with context isolation and provenance"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"component-map",children:"Component map"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Stack element"}),(0,n.jsx)(t.th,{children:"PTI document"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Trust events"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-events",children:"Trust events"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-003-trust-events",children:"RFC-003"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Trust contexts"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-contexts",children:"Trust contexts"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-002-trust-contexts",children:"RFC-002"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Trust exchange"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-exchange",children:"Trust exchange"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-006-trust-exchange",children:"RFC-006"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Trust graph"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-graph",children:"Trust graph"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-005-trust-graph",children:"RFC-005"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Trust resolution"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-resolution",children:"Trust resolution"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-011-identity-resolution",children:"RFC-011"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Lookup API"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-apis",children:"Trust APIs"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-004-trust-lookup-api",children:"RFC-004"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Governance"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.a,{href:"/docs/pti/rfcs/rfc-007-governance",children:"RFC-007"})," \xb7 ",(0,n.jsx)(t.a,{href:"/docs/pti/specification/v1.0/governance",children:"Specification governance"})]})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"trust-flow-end-to-end",children:"Trust flow (end-to-end)"}),"\n",(0,n.jsx)(t.mermaid,{value:"flowchart LR\n Producer[Trust producer] --\x3e Events[Trust events]\n Events --\x3e Exchange[Trust exch
1ange]\n Exchange --\x3e Graph[Trust graph]\n Graph --\x3e Engine[Intelligence engine]\n Engine --\x3e Consumer[Trust consumer]\n Registry[Trust registry] -.-> Exchange\n Registry -.-> Engine"}),"\n",(0,n.jsxs)(t.p,{children:["See ",(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/trust-flow",children:"Trust flow"})," for step-by-step detail."]}),"\n",(0,n.jsx)(t.h2,{id:"related",children:"Related"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/pti/reference-architecture/",children:"Reference architecture index"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/pti/why-pti/",children:"Why PTI exists"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/pti/build-your-pti/",children:"Build Your Own PTI"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.