{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"chatgpt-next-web","slug":"chatgpt-next-web","name":"ChatGPT Next Web","type":"template","url":"https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web","page_url":"https://unfragile.ai/chatgpt-next-web","categories":["app-builders"],"tags":[],"pricing":{"model":"free","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"chatgpt-next-web__cap_0","uri":"capability://tool.use.integration.multi.provider.llm.endpoint.abstraction.with.unified.chat.interface","name":"multi-provider llm endpoint abstraction with unified chat interface","description":"Abstracts multiple LLM providers (OpenAI GPT-4, Anthropic Claude, custom endpoints) behind a unified chat API, allowing users to switch providers and models without UI changes. Implements provider-agnostic message formatting, token counting, and streaming response handling through a pluggable backend architecture that normalizes API differences across OpenAI, Anthropic, and custom HTTP endpoints.","intents":["Switch between GPT-4 and Claude mid-conversation without losing context","Use a self-hosted LLM endpoint alongside commercial APIs","Compare model outputs across providers with identical prompts","Avoid vendor lock-in by maintaining provider flexibility"],"best_for":["developers building multi-model AI applications","teams evaluating different LLM providers","organizations with hybrid cloud/on-premise LLM deployments"],"limitations":["No automatic cost optimization across providers — requires manual selection","Token counting accuracy varies by provider; estimates may differ from actual billing","Custom endpoint integration requires manual schema mapping for non-standard APIs","No built-in fallback mechanism if primary provider is unavailable"],"requires":["API key for at least one provider (OpenAI, Anthropic, or custom endpoint URL)","Node.js 16+ for backend runtime","Network connectivity to provider endpoints"],"input_types":["text prompts","conversation history (JSON)","system messages"],"output_types":["streamed text responses","structured completion metadata (tokens, model, finish_reason)"],"categories":["tool-use-integration","multi-provider-abstraction"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_1","uri":"capability://memory.knowledge.conversation.compression.and.context.window.optimization","name":"conversation compression and context window optimization","description":"Automatically summarizes older conversation turns into compressed context when approaching token limits, preserving semantic meaning while reducing token consumption. Uses a recursive summarization strategy that condenses multi-turn dialogues into concise summaries, allowing long conversations to continue without hitting model context windows or incurring excessive API costs.","intents":["Maintain multi-hour conversations without hitting 4K/8K token limits","Reduce API costs for long-running chat sessions","Preserve conversation history while staying within context windows","Automatically manage context without manual pruning"],"best_for":["users conducting extended research or debugging sessions","cost-conscious teams running high-volume chat applications","mobile users with bandwidth constraints"],"limitations":["Compression introduces information loss — fine details from early turns may be omitted","Summarization adds latency (typically 1-3 seconds per compression cycle)","Compressed context may reduce model reasoning quality on complex multi-step problems","No user control over compression aggressiveness or summary style"],"requires":["Active LLM provider connection (uses same provider for summarization)","Conversation history in memory (no persistence layer required)","Token counting capability for the selected model"],"input_types":["conversation history (array of message objects)","current token count","model context window size"],"output_types":["compressed conversation state (reduced token count)","summary metadata (original vs compressed tokens)"],"categories":["memory-knowledge","context-optimization"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_10","uri":"capability://data.processing.analysis.token.usage.tracking.and.cost.estimation.per.conversation","name":"token usage tracking and cost estimation per conversation","description":"Tracks token consumption for each message and conversation, displaying cumulative token counts and estimated API costs based on current pricing. Uses model-specific token counting (via tiktoken for OpenAI, manual counting for other providers) to estimate costs before sending requests, helping users understand API expenses and optimize prompt length.","intents":["Monitor API spending across conversations","Estimate costs before sending long prompts","Identify high-cost conversations for optimization","Budget API usage across team members"],"best_for":["cost-conscious users managing API budgets","teams tracking AI spending per project","developers optimizing prompt efficiency"],"limitations":["Token counting is approximate for non-OpenAI models — actual billing may differ","Cost estimation uses static pricing — does not account for dynamic pricing or discounts","No integration with actual billing APIs — estimates are not guaranteed to match invoices","Token counting adds latency (typically 10-50ms per message)","No per-user or per-project cost allocation — all costs are aggregated"],"requires":["Token counting library (tiktoken for OpenAI, manual implementation for others)","Current pricing information for each model (must be manually updated)","Conversation state management to persist token counts"],"input_types":["message text (string)","model identifier (string)","pricing configuration (tokens per dollar)"],"output_types":["token count per message","cumulative tokens per conversation","estimated cost in USD or other currency"],"categories":["data-processing-analysis","cost-optimization"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_11","uri":"capability://automation.workflow.responsive.mobile.ui.with.touch.optimized.controls","name":"responsive mobile ui with touch-optimized controls","description":"Implements a responsive design that adapts to mobile, tablet, and desktop viewports, with touch-optimized buttons, swipe gestures for navigation, and mobile-specific layouts. Uses CSS media queries and touch event handlers to provide a native app-like experience on smartphones without requiring a separate mobile application.","intents":["Use ChatGPT UI on mobile devices with full functionality","Navigate conversations with swipe gestures on touch devices","Read and compose messages on small screens without horizontal scrolling","Access all features (export, search, settings) on mobile"],"best_for":["mobile-first users who primarily access via smartphone","teams needing cross-device consistency","users in regions where native app installation is difficult"],"limitations":["Mobile keyboards may obscure input field — requires scroll-to-input behavior","Touch targets must be at least 44x44px — some UI elements may be too small on small screens","Swipe gestures may conflict with browser back/forward navigation","Mobile browsers have limited storage (typically 5-50MB) — conversation history may be truncated","Mobile performance is limited by device CPU/RAM — large conversations may cause lag"],"requires":["CSS media queries for responsive breakpoints (mobile: <768px, tablet: 768-1024px, desktop: >1024px)","Touch event handlers (touchstart, touchmove, touchend)","Viewport meta tag for proper mobile rendering"],"input_types":["viewport width/height","touch events (coordinates, duration)","device orientation (portrait/landscape)"],"output_types":["responsive layout adapted to screen size","touch-optimized UI controls","mobile-specific navigation patterns"],"categories":["automation-workflow","ui-design"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_12","uri":"capability://text.generation.language.real.time.streaming.response.rendering.with.incremental.token.display","name":"real-time streaming response rendering with incremental token display","description":"Streams LLM responses token-by-token to the UI as they arrive from the provider, rendering each token incrementally rather than waiting for the complete response. Uses Server-Sent Events (SSE) or WebSocket connections to receive streaming data, with real-time DOM updates to display tokens as they arrive, providing immediate feedback and perceived responsiveness.","intents":["See model responses appear in real-time rather than waiting for completion","Cancel long-running requests mid-stream","Monitor token generation rate and estimated completion time","Improve perceived performance by showing partial results immediately"],"best_for":["users expecting interactive, responsive chat experiences","applications with long-running requests (>5 seconds)","mobile users with limited patience for loading states"],"limitations":["Streaming adds complexity to error handling — errors may occur mid-stream after partial content is displayed","Token-by-token rendering can be visually distracting for some users","Streaming is not supported by all LLM providers or models (some only support batch responses)","Network interruptions during streaming may result in incomplete responses","Streaming adds ~50-100ms latency per token due to network round-trips"],"requires":["LLM provider that supports streaming (OpenAI, Anthropic, most modern APIs)","Server-Sent Events (SSE) or WebSocket support in the backend","Browser support for EventSource API or WebSocket"],"input_types":["streaming response from LLM provider (text chunks)","stream metadata (model, finish_reason, token count)"],"output_types":["incremental text rendering in chat UI","real-time token count updates","stream completion status"],"categories":["text-generation-language","ui-rendering"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_13","uri":"capability://planning.reasoning.conversation.branching.and.version.history.with.fork.merge.semantics","name":"conversation branching and version history with fork/merge semantics","description":"Allows users to branch conversations at any point, creating alternative response paths without losing the original conversation. Each branch maintains independent message history, and users can compare branches side-by-side or merge insights back into the main conversation. Implements a tree-based conversation structure where each message can have multiple child branches.","intents":["Explore multiple response paths from a single prompt without losing context","Compare how different models or prompts respond to the same question","Revert to earlier conversation states and try different directions","Maintain a decision tree of AI-assisted reasoning"],"best_for":["researchers exploring multiple hypotheses","developers debugging with different approaches","teams collaborating on AI-assisted problem solving"],"limitations":["Branching increases memory usage — storing multiple conversation trees can exceed browser storage limits","UI complexity increases significantly — displaying and navigating branches requires careful UX design","Merging branches is manual — no automatic conflict resolution for divergent content","Branching is not supported by most LLM APIs — requires client-side state management","No built-in visualization of conversation trees — users must mentally track branch relationships"],"requires":["Tree data structure for conversation state (parent-child relationships)","Browser storage sufficient for multiple conversation branches (typically 50MB+)","UI components for branch visualization and navigation"],"input_types":["conversation state at branch point","branch identifier and metadata","alternative response from LLM"],"output_types":["branched conversation tree","side-by-side branch comparison","merged conversation state"],"categories":["planning-reasoning","conversation-management"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_2","uri":"capability://text.generation.language.prompt.template.library.with.variable.substitution.and.execution","name":"prompt template library with variable substitution and execution","description":"Provides a built-in library of pre-written prompt templates with parameterized variables (e.g., {{topic}}, {{tone}}) that users can customize and execute. Templates are stored locally or fetched from a remote repository, parsed for variable placeholders, and rendered with user-provided values before sending to the LLM, enabling rapid prompt reuse without manual editing.","intents":["Quickly generate content using pre-built prompts without writing from scratch","Maintain consistent prompt structure across multiple conversations","Share prompt templates with team members","Experiment with prompt variations by swapping template parameters"],"best_for":["content creators using repetitive prompt patterns","teams standardizing on prompt engineering best practices","non-technical users who need structured prompt guidance"],"limitations":["Template library is static — no dynamic template generation based on context","Variable substitution is simple string replacement — no conditional logic or loops","No version control for templates — changes overwrite previous versions","Limited to predefined templates; custom template creation requires UI interaction"],"requires":["Template definitions in JSON or YAML format","Active chat session with LLM provider","User input for template variables"],"input_types":["template identifier (string)","variable values (key-value object)","optional template metadata"],"output_types":["rendered prompt string","LLM response to rendered prompt"],"categories":["text-generation-language","prompt-engineering"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_3","uri":"capability://text.generation.language.markdown.rendering.and.code.syntax.highlighting.in.chat.responses","name":"markdown rendering and code syntax highlighting in chat responses","description":"Parses LLM responses for markdown syntax and renders formatted text, code blocks, tables, and lists in the chat UI. Uses a markdown parser (likely remark or markdown-it) with syntax highlighting for 50+ programming languages via Prism.js or highlight.js, enabling readable code snippets and formatted content directly in conversations.","intents":["Display code snippets with language-specific syntax highlighting","Render formatted tables and lists from model responses","Show mathematical equations or structured data in readable format","Copy code blocks to clipboard with one click"],"best_for":["developers receiving code from LLM","technical writers using AI for documentation","educators explaining concepts with formatted examples"],"limitations":["Markdown rendering may be inconsistent with complex nested structures","LaTeX/MathML support depends on additional dependencies — may not be included","Code block copy functionality requires JavaScript clipboard API (not available in all browsers)","Syntax highlighting only works for recognized language identifiers in code fences"],"requires":["Modern browser with DOM manipulation support","Markdown parser library (remark, markdown-it, or equivalent)","Syntax highlighting library (Prism.js or highlight.js)"],"input_types":["raw markdown text from LLM response","language identifier in code fences (e.g., python)"],"output_types":["rendered HTML with styled code blocks","interactive copy-to-clipboard buttons"],"categories":["text-generation-language","ui-rendering"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_4","uri":"capability://automation.workflow.one.click.vercel.deployment.with.environment.variable.configuration","name":"one-click vercel deployment with environment variable configuration","description":"Provides a pre-configured Vercel deployment template that automatically forks the repository, configures environment variables (API keys, model selections), and deploys the web UI to Vercel's serverless infrastructure with a single click. Handles build configuration, environment setup, and domain assignment without requiring manual CLI commands or infrastructure knowledge.","intents":["Deploy a personal ChatGPT UI in under 2 minutes without DevOps knowledge","Host the application on a custom domain with HTTPS","Automatically redeploy when the repository is updated","Share a deployed instance with team members via URL"],"best_for":["non-technical users wanting to self-host ChatGPT UI","developers prototyping AI applications quickly","teams needing a private ChatGPT alternative without infrastructure overhead"],"limitations":["Vercel's free tier has 10 second function timeout — long-running requests may fail","Serverless architecture adds cold-start latency (typically 500ms-2s on first request)","Environment variables are stored in Vercel's dashboard — requires manual rotation for API key updates","No built-in database — conversation history is stored only in browser localStorage, not persisted server-side","Vercel's free tier has bandwidth limits (~100GB/month) — high-traffic deployments require paid plan"],"requires":["GitHub account for repository fork","Vercel account (free tier available)","API key for at least one LLM provider (OpenAI, Anthropic, etc.)","Custom domain (optional, but recommended for production use)"],"input_types":["GitHub repository URL","environment variable values (API keys, model names)"],"output_types":["deployed web application URL","Vercel project dashboard link"],"categories":["automation-workflow","deployment"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_5","uri":"capability://automation.workflow.progressive.web.app.pwa.offline.support.and.installability","name":"progressive web app (pwa) offline support and installability","description":"Implements PWA standards (service workers, manifest.json, offline caching) enabling the web app to be installed as a desktop or mobile application and function offline for previously loaded conversations. Service workers cache static assets and conversation history, allowing users to read past messages and compose new ones without network connectivity, with automatic sync when connection is restored.","intents":["Use ChatGPT UI on mobile without installing a native app","Access conversation history offline during flights or poor connectivity","Install the app on desktop as a standalone application","Automatically sync new messages when connectivity is restored"],"best_for":["mobile users wanting app-like experience without app store friction","travelers needing offline access to conversation history","developers building cross-platform chat applications"],"limitations":["Offline mode only supports reading history and composing messages — cannot send requests without network","Service worker caching is browser-dependent — cache may be cleared if storage quota is exceeded","PWA installation is not available on all browsers (limited support on iOS Safari)","Offline sync is one-way (client to server) — no conflict resolution for simultaneous edits","Cache size is limited by browser storage quotas (typically 50MB-1GB depending on browser)"],"requires":["HTTPS connection (required for service worker registration)","Modern browser with service worker support (Chrome 40+, Firefox 44+, Safari 11.1+)","manifest.json with app metadata (name, icons, display mode)","Conversation history stored in IndexedDB or localStorage"],"input_types":["service worker registration scope","cache strategy configuration (cache-first, network-first, etc.)","conversation data for offline storage"],"output_types":["installed PWA application","offline conversation history","sync queue for pending messages"],"categories":["automation-workflow","offline-support"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_6","uri":"capability://data.processing.analysis.conversation.export.and.import.with.multiple.format.support","name":"conversation export and import with multiple format support","description":"Allows users to export conversations as JSON, Markdown, or PDF files, preserving message history, metadata, and formatting. Conversely, users can import previously exported conversations to restore full chat history including system prompts and model selections. Export/import uses standard file formats enabling portability across different chat applications and long-term archival.","intents":["Backup conversations for long-term archival","Share conversation transcripts with colleagues or clients","Migrate conversations between different ChatGPT UI instances","Convert conversations to documentation or reports (Markdown/PDF)"],"best_for":["researchers documenting AI interactions for reproducibility","teams sharing conversation insights across projects","users migrating from one ChatGPT UI to another"],"limitations":["PDF export requires additional dependencies (e.g., html2pdf) — may not be available in all deployments","Exported JSON includes raw API responses — sensitive data (API keys, user IDs) must be manually scrubbed","Import does not restore streaming behavior — imported conversations are static snapshots","Large conversations (>10MB) may cause browser memory issues during export","Markdown export loses some formatting (e.g., code block metadata, inline styling)"],"requires":["Active conversation in memory","File system access (browser File API for download)","For PDF export: html2pdf or similar library"],"input_types":["conversation object (array of messages with metadata)","export format selection (JSON, Markdown, PDF)","optional filename and metadata"],"output_types":["exported file (JSON, Markdown, or PDF)","imported conversation state (restored to chat UI)"],"categories":["data-processing-analysis","import-export"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_7","uri":"capability://text.generation.language.system.prompt.customization.and.role.based.conversation.initialization","name":"system prompt customization and role-based conversation initialization","description":"Allows users to define custom system prompts that shape model behavior for the entire conversation, with pre-built role templates (e.g., 'Code Reviewer', 'Creative Writer', 'Technical Explainer'). System prompts are stored per conversation and applied to all subsequent messages, enabling consistent persona and behavior without repeating instructions in every message.","intents":["Set a consistent tone or expertise level for the entire conversation","Use pre-built role templates to quickly initialize specialized conversations","Save custom system prompts for reuse across multiple conversations","Experiment with different personas or instruction styles"],"best_for":["power users fine-tuning model behavior","teams standardizing on system prompts for consistency","educators using AI with specific pedagogical approaches"],"limitations":["System prompt effectiveness varies by model — some models ignore or partially follow custom instructions","No validation that system prompts are well-formed — malformed prompts may degrade response quality","System prompt changes do not retroactively affect previous messages in the conversation","No built-in library of expert-vetted system prompts — users must create or find their own"],"requires":["Text input field for system prompt definition","Conversation state management to persist system prompt","LLM provider that supports system role (OpenAI, Anthropic, most modern APIs)"],"input_types":["system prompt text (string)","optional role template selection","conversation metadata"],"output_types":["conversation with applied system prompt","model responses shaped by system instructions"],"categories":["text-generation-language","prompt-engineering"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_8","uri":"capability://search.retrieval.conversation.search.and.filtering.with.full.text.indexing","name":"conversation search and filtering with full-text indexing","description":"Implements full-text search across all conversations stored in the browser, allowing users to find specific messages, topics, or responses by keyword. Search results are ranked by relevance and filtered by date range, model used, or conversation topic, enabling rapid retrieval of past insights without manual scrolling through conversation history.","intents":["Find a specific code snippet or explanation from weeks of conversations","Retrieve all conversations about a particular topic","Filter conversations by model used (GPT-4 vs Claude)","Search across multiple conversations simultaneously"],"best_for":["power users with hundreds of conversations","researchers tracking AI outputs across multiple sessions","teams reviewing past AI-assisted work"],"limitations":["Search is client-side only — no server-side indexing means search latency increases with conversation count","Full-text indexing is limited by browser storage (typically 50MB-1GB) — very large conversation histories may not be fully searchable","Search does not support advanced queries (boolean operators, regex) — only simple keyword matching","Search results are not ranked by semantic similarity — only by keyword frequency and recency"],"requires":["Conversation history stored in browser (IndexedDB or localStorage)","Full-text search library (e.g., lunr.js, fuse.js)","Sufficient browser storage quota for indexing"],"input_types":["search query (string)","optional filters (date range, model, conversation topic)"],"output_types":["ranked list of matching messages","conversation metadata for each result","highlighted search terms in results"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__cap_9","uri":"capability://text.generation.language.multi.language.ui.localization.with.dynamic.language.switching","name":"multi-language ui localization with dynamic language switching","description":"Provides UI translations for 10+ languages (English, Chinese, Japanese, Spanish, French, etc.) with dynamic language switching without page reload. Uses a client-side i18n library (likely i18next or similar) to load language packs and apply translations to all UI elements, buttons, and messages in real-time.","intents":["Use the application in your native language","Switch languages mid-session without losing conversation context","Support international teams with different language preferences","Reduce friction for non-English speakers adopting the tool"],"best_for":["international teams with multilingual users","applications deployed globally","non-English speaking users"],"limitations":["LLM responses are not translated — only the UI is localized","Language packs must be manually maintained — community translations may be outdated","Right-to-left (RTL) languages (Arabic, Hebrew) may require additional CSS adjustments not included","Some UI elements may not translate well due to space constraints or cultural context"],"requires":["i18n library (i18next, react-i18next, or equivalent)","Language pack files (JSON or YAML) for each supported language","Browser localStorage or session storage for language preference persistence"],"input_types":["language code selection (e.g., 'en', 'zh', 'ja')","UI element keys for translation lookup"],"output_types":["translated UI strings","localized date/time formatting","language preference persistence"],"categories":["text-generation-language","localization"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"chatgpt-next-web__headline","uri":"capability://app.builders.cross.platform.chatgpt.web.ui","name":"cross-platform chatgpt web ui","description":"A versatile web UI for ChatGPT that enables easy deployment and supports multiple AI models, making it ideal for developers looking to integrate conversational AI into their applications.","intents":["best ChatGPT web UI","ChatGPT UI for easy deployment","cross-platform ChatGPT interface","ChatGPT web app for mobile and desktop","best UI for GPT-4 integration"],"best_for":["developers","startups","AI enthusiasts"],"limitations":[],"requires":[],"input_types":[],"output_types":[],"categories":["app-builders"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":55,"verified":false,"data_access_risk":"high","permissions":["API key for at least one provider (OpenAI, Anthropic, or custom endpoint URL)","Node.js 16+ for backend runtime","Network connectivity to provider endpoints","Active LLM provider connection (uses same provider for summarization)","Conversation history in memory (no persistence layer required)","Token counting capability for the selected model","Token counting library (tiktoken for OpenAI, manual implementation for others)","Current pricing information for each model (must be manually updated)","Conversation state management to persist token counts","CSS media queries for responsive breakpoints (mobile: <768px, tablet: 768-1024px, desktop: >1024px)"],"failure_modes":["No automatic cost optimization across providers — requires manual selection","Token counting accuracy varies by provider; estimates may differ from actual billing","Custom endpoint integration requires manual schema mapping for non-standard APIs","No built-in fallback mechanism if primary provider is unavailable","Compression introduces information loss — fine details from early turns may be omitted","Summarization adds latency (typically 1-3 seconds per compression cycle)","Compressed context may reduce model reasoning quality on complex multi-step problems","No user control over compression aggressiveness or summary style","Token counting is approximate for non-OpenAI models — actual billing may differ","Cost estimation uses static pricing — does not account for dynamic pricing or discounts","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.7,"quality":0.9,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.35,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:04.690Z","last_scraped_at":null,"last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=chatgpt-next-web","compare_url":"https://unfragile.ai/compare?artifact=chatgpt-next-web"}},"signature":"pusbMd9p7bE2ioGNmphQKfmsumLhL3kHIXQ0TnHc1DQvfTlwoGNWGfDZKOq++k6a7UcQLqLSHlpdogv8DyTUDA==","signedAt":"2026-06-20T16:27:40.183Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/chatgpt-next-web","artifact":"https://unfragile.ai/chatgpt-next-web","verify":"https://unfragile.ai/api/v1/verify?slug=chatgpt-next-web","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}