{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github-reorproject--reor","slug":"reorproject--reor","name":"reor","type":"product","url":"https://reorproject.org","page_url":"https://unfragile.ai/reorproject--reor","categories":["app-builders"],"tags":["ai","lancedb","llama","llamacpp","local-first","markdown","note-taking","ollama","pkm","rag","second-brain","vector-database"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github-reorproject--reor__cap_0","uri":"capability://search.retrieval.local.first.semantic.search.across.markdown.notes.with.hybrid.keyword.vector.matching","name":"local-first semantic search across markdown notes with hybrid keyword-vector matching","description":"Reor implements semantic search by embedding note content using Transformers.js (client-side ONNX models) and storing vectors in LanceDB, a local vector database with native bindings. The system supports both pure vector similarity search and hybrid mode combining semantic matching with keyword indexing, enabling full-text discovery without cloud API calls. Search operates entirely on-device with no data transmission, using LanceDB's columnar storage for fast approximate nearest neighbor queries across note collections.","intents":["Find related notes by semantic meaning rather than exact keyword matches","Search across a large personal knowledge base without sending content to external APIs","Combine semantic and keyword search to balance relevance and recall","Retrieve note chunks as context for RAG-powered Q&A without external vector services"],"best_for":["Privacy-conscious researchers and knowledge workers managing 100+ notes","Teams building local-first PKM tools who need offline semantic search","Developers integrating RAG systems without cloud vector database dependencies"],"limitations":["Embedding generation is CPU-bound; initial indexing of large note collections (10k+ notes) may take minutes","LanceDB native bindings are platform-specific (macOS x64/ARM, Windows x64, Linux x64); cross-platform support limited","Hybrid search requires maintaining separate keyword indices alongside vector indices, increasing storage overhead by ~20-30%","Vector dimension size fixed by embedding model choice; switching models requires full re-indexing"],"requires":["Transformers.js library for ONNX model execution","LanceDB with native bindings for target platform","Markdown notes in local filesystem","Minimum 2GB RAM for typical note collections (1000+ notes)"],"input_types":["markdown text","note content from filesystem","search query strings"],"output_types":["ranked list of note chunks with similarity scores","vector embeddings (384-1024 dimensions depending on model)","hybrid search results combining vector and keyword relevance"],"categories":["search-retrieval","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_1","uri":"capability://memory.knowledge.automatic.bidirectional.note.linking.via.vector.similarity.clustering","name":"automatic bidirectional note linking via vector similarity clustering","description":"Reor automatically discovers and surfaces related notes by computing vector similarity between note embeddings and clustering semantically similar content. The system runs in the background, generating embeddings for all notes and maintaining a similarity graph that populates a sidebar panel showing related notes while editing. This creates a knowledge graph without requiring manual wiki-style link syntax, using the same embedding infrastructure as semantic search to identify conceptual relationships.","intents":["Discover related notes without manually creating backlinks","Visualize knowledge graph connections based on semantic similarity","Explore note relationships while writing to find relevant context","Automatically surface notes that should be connected based on content overlap"],"best_for":["Individual researchers building personal knowledge bases organically","Teams using Reor as a second-brain tool who want emergent structure","Users migrating from manual wiki-linking systems to automated discovery"],"limitations":["Similarity threshold for 'related notes' is fixed or requires manual tuning; no adaptive clustering based on user feedback","Bidirectional linking computation scales quadratically with note count; 10k+ notes may cause noticeable UI lag when opening notes","Similarity-based linking can produce false positives for notes with overlapping terminology but unrelated concepts","No user control over which notes appear in 'related' sidebar; all results above threshold are shown"],"requires":["Embedding model configured and indexed (Transformers.js or Ollama)","LanceDB vector store populated with note embeddings","Electron renderer process with access to vector similarity computation"],"input_types":["markdown note content","note metadata (title, path)"],"output_types":["ranked list of related notes with similarity scores","sidebar UI component displaying bidirectional links"],"categories":["memory-knowledge","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_10","uri":"capability://text.generation.language.conversation.history.management.with.context.preservation","name":"conversation history management with context preservation","description":"Reor maintains conversation history in the chat interface, storing user messages and LLM responses with timestamps. The system preserves conversation context by including previous messages when generating new responses, enabling multi-turn dialogue. Conversation history is stored in-memory during the session; users can optionally save conversations to disk for later reference. The system manages context window constraints by truncating older messages if the full history exceeds the LLM's context limit.","intents":["Maintain multi-turn conversations with context awareness","Reference previous messages in follow-up questions","Save conversations for later review or sharing","Manage context window constraints in long conversations"],"best_for":["Users conducting extended research sessions with multiple questions","Teams using Reor for collaborative knowledge exploration"],"limitations":["Conversation history is not persisted by default; closing the app loses chat history","No built-in conversation search or filtering; users cannot easily find previous discussions","Context window management is simplistic (truncate oldest messages); no intelligent summarization","No conversation branching; users cannot explore alternative response paths"],"requires":["In-memory storage for conversation history","LLM context window size configuration","Optional filesystem access for saving conversations"],"input_types":["user messages","LLM responses"],"output_types":["conversation history UI","saved conversation files (JSON or markdown)"],"categories":["text-generation-language","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_11","uri":"capability://automation.workflow.multi.platform.desktop.application.packaging.via.electron.with.auto.updates","name":"multi-platform desktop application packaging via electron with auto-updates","description":"Reor is built as an Electron application that runs on macOS (x64/ARM), Windows (x64), and Linux (x64), providing a native desktop experience across platforms. The build system packages the application for each platform with platform-specific optimizations (e.g., ARM support for Apple Silicon). Auto-update functionality checks for new releases and prompts users to upgrade, with differential updates to minimize download size.","intents":["Distribute Reor as a native desktop app across multiple operating systems","Provide automatic updates without requiring manual downloads","Optimize performance for different hardware architectures (x64, ARM)"],"best_for":["Teams building cross-platform desktop applications","Users who prefer native apps over web-based tools"],"limitations":["Electron apps have larger memory footprint than native apps; typical Reor instance uses 200-500MB RAM","Build and release process is complex; requires separate builds for each platform","Auto-update mechanism requires internet connectivity; offline users cannot update","Code signing and notarization requirements vary by platform (macOS requires Apple Developer account)"],"requires":["Electron framework (v20+)","Node.js build tools","Platform-specific build dependencies (e.g., Xcode for macOS, Visual Studio for Windows)","Code signing certificates for macOS/Windows"],"input_types":["source code (TypeScript/React)","native modules (LanceDB bindings)"],"output_types":["platform-specific installers (.dmg for macOS, .exe for Windows, .AppImage for Linux)","auto-update metadata"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_12","uri":"capability://text.generation.language.optional.cloud.llm.provider.integration.openai.anthropic.with.fallback.support","name":"optional cloud llm provider integration (openai, anthropic) with fallback support","description":"While Reor is designed for local-first operation, it supports optional integration with cloud LLM providers (OpenAI, Anthropic) for users who prefer higher-quality models or need specific capabilities. Users can configure API keys in settings and switch between local and cloud models at runtime. The system maintains a unified chat interface regardless of LLM provider, with fallback logic to use local models if cloud API calls fail.","intents":["Use higher-quality cloud LLMs (GPT-4, Claude) for improved response quality","Maintain local-first operation as default while enabling cloud fallback","Switch between local and cloud models based on task requirements"],"best_for":["Users who want flexibility to use cloud LLMs for specific tasks","Teams with hybrid local/cloud infrastructure","Developers building LLM applications with provider flexibility"],"limitations":["Cloud API integration requires API keys stored in settings; no encryption for sensitive credentials","Cloud API calls incur costs; no built-in cost tracking or rate limiting","Fallback logic is simplistic; no intelligent provider selection based on task type","Note content is sent to cloud APIs; users must accept privacy implications"],"requires":["API keys for OpenAI and/or Anthropic (if using cloud models)","Network connectivity for cloud API calls","Settings UI for API key configuration"],"input_types":["API keys (stored in settings)","user prompts and context"],"output_types":["LLM responses from cloud APIs","fallback to local models if cloud call fails"],"categories":["text-generation-language","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_2","uri":"capability://text.generation.language.rag.powered.q.a.chat.with.local.llm.and.note.context.retrieval","name":"rag-powered q&a chat with local llm and note context retrieval","description":"Reor implements a Retrieval-Augmented Generation (RAG) chat system where user questions trigger semantic search across notes to retrieve relevant chunks, which are then passed as context to a local LLM (via Ollama or Transformers.js) for answer generation. The system manages a conversation history, formats retrieved note chunks as context, and streams LLM responses back to the UI. All processing occurs locally; no conversation data or note content is sent to external APIs unless explicitly configured to use cloud models (OpenAI/Anthropic).","intents":["Ask questions about note content and receive answers grounded in personal knowledge base","Retrieve relevant notes as context before generating responses","Maintain conversation history while keeping all data local","Switch between local and cloud LLMs without changing the chat interface"],"best_for":["Researchers querying personal knowledge bases without cloud dependencies","Teams building private Q&A systems over internal documentation","Developers prototyping RAG agents with local-first architecture"],"limitations":["LLM response quality depends on local model choice; smaller models (7B parameters) may produce less coherent answers than cloud alternatives","Context window size is limited by LLM model; large note collections may require aggressive chunking/summarization to fit context","Retrieval quality depends on embedding model; semantic search may miss relevant notes if query and note use different terminology","No built-in conversation persistence; chat history is stored in-memory and lost on app restart unless explicitly saved","Streaming responses add ~100-200ms latency per token on typical hardware; slower than cloud APIs for large responses"],"requires":["Ollama running locally with at least one LLM model installed, OR Transformers.js with local model weights","Populated LanceDB vector store with note embeddings","Minimum 4GB RAM for typical LLM inference (8GB+ recommended for larger models)","Note content indexed and searchable via semantic search capability"],"input_types":["user question text","conversation history (previous Q&A pairs)","note content from vector store"],"output_types":["streamed LLM response text","conversation history with timestamps","retrieved note chunks with source attribution"],"categories":["text-generation-language","memory-knowledge","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_3","uri":"capability://text.generation.language.markdown.note.editing.with.syntax.highlighting.and.backlink.visualization","name":"markdown note editing with syntax highlighting and backlink visualization","description":"Reor provides an Obsidian-like markdown editor built into the Electron renderer process, supporting syntax highlighting, real-time preview, and backlink/wikilink syntax (`[[note-name]]`). The editor integrates with the note filesystem layer to enable creating, editing, and linking notes within the PKM system. Backlinks are rendered as clickable references that navigate to linked notes, and the editor supports standard markdown formatting with code block syntax highlighting.","intents":["Write and edit markdown notes with visual formatting feedback","Create wiki-style links between notes using [[bracket]] syntax","View and navigate backlinks to understand note relationships","Use familiar markdown syntax without learning proprietary formats"],"best_for":["Users familiar with Obsidian or other markdown-based PKM tools","Developers building Electron-based note-taking apps","Teams standardizing on markdown for documentation and knowledge management"],"limitations":["Editor is built on standard web technologies (likely CodeMirror or Monaco); performance may degrade with very large notes (100k+ characters)","Backlink parsing uses regex-based pattern matching rather than AST parsing; complex wikilink syntax may not be fully supported","No built-in collaborative editing; single-user only","Syntax highlighting is limited to common languages; custom language support requires plugin development"],"requires":["Electron renderer process with React/TypeScript UI framework","Markdown parser library (likely remark or markdown-it)","Filesystem access via IPC to main process for note persistence"],"input_types":["markdown text","user keyboard/mouse input","note metadata (title, path)"],"output_types":["rendered markdown HTML","syntax-highlighted code blocks","clickable backlink references"],"categories":["text-generation-language","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_4","uri":"capability://text.generation.language.local.llm.execution.via.ollama.integration.with.model.switching","name":"local llm execution via ollama integration with model switching","description":"Reor integrates with Ollama, a local LLM runtime, to execute language models entirely on the user's machine. The system allows users to configure which Ollama model to use for chat and text generation, with support for switching models without restarting the app. The main process communicates with Ollama via HTTP API calls, streaming responses back to the renderer for real-time display. Users can also configure cloud-based LLM providers (OpenAI, Anthropic) as fallbacks or alternatives.","intents":["Run LLM inference locally without sending prompts to external APIs","Switch between different local models (Llama 2, Mistral, etc.) based on task requirements","Configure fallback to cloud LLMs for users who prefer or need higher-quality responses","Control model parameters (temperature, top-p) for response generation"],"best_for":["Privacy-focused users who cannot send data to cloud LLM providers","Teams with offline environments or restricted internet access","Developers experimenting with different open-source models"],"limitations":["Requires Ollama to be installed and running separately; adds operational complexity vs integrated LLM","Local model quality is lower than GPT-4 or Claude; smaller models (7B) may produce less coherent responses","Inference speed depends on hardware; on CPU-only machines, response generation can be very slow (1-5 tokens/second)","Model switching requires downloading model weights (~4-40GB depending on model size); no automatic model management","Ollama HTTP API is not authenticated; assumes local-only network access"],"requires":["Ollama installed and running on localhost:11434 (default port)","At least one LLM model downloaded via Ollama (e.g., `ollama pull llama2`)","Minimum 8GB RAM for 7B models, 16GB+ for larger models","GPU recommended for acceptable inference speed (NVIDIA CUDA or Apple Metal)"],"input_types":["user prompt text","system context/instructions","retrieved note chunks for RAG"],"output_types":["streamed text response","model metadata (name, parameters, size)"],"categories":["text-generation-language","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_5","uri":"capability://data.processing.analysis.client.side.embedding.generation.via.transformers.js.onnx.models","name":"client-side embedding generation via transformers.js onnx models","description":"Reor uses Transformers.js to run embedding models (e.g., all-MiniLM-L6-v2) directly in the browser/Electron renderer process using ONNX format. This eliminates the need for embedding API calls or external services; embeddings are generated on-device as notes are created or updated. The system manages model loading, caching, and batching of embedding requests to optimize performance. Embeddings are then stored in LanceDB for semantic search and similarity computation.","intents":["Generate embeddings for notes without sending content to external APIs","Automatically embed new/updated notes as they are created","Support multiple embedding models with different dimension sizes","Cache embedding models in memory to avoid repeated downloads"],"best_for":["Privacy-conscious users who want embeddings generated locally","Offline environments where API calls are not possible","Teams building local-first RAG systems"],"limitations":["Transformers.js models are ONNX-based and run on CPU; embedding generation is slower than GPU-accelerated APIs (typically 1-5 seconds per note)","Model files are large (50-500MB); initial download and caching can take time","Limited model selection compared to cloud embedding APIs; primarily sentence-transformer models","Embedding dimension is fixed by model choice (typically 384 or 768); changing models requires re-indexing all notes","Memory overhead of keeping models loaded in Electron process; may impact app responsiveness on low-memory systems"],"requires":["Transformers.js library installed","ONNX Runtime for JavaScript","Minimum 2GB RAM for typical embedding models","Electron renderer process with WebWorker support for background embedding computation"],"input_types":["markdown note text","note chunks (split by paragraph or sentence)"],"output_types":["embedding vectors (384-1024 dimensions)","embedding metadata (model name, timestamp)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_6","uri":"capability://data.processing.analysis.file.system.based.note.persistence.with.directory.structure.support","name":"file system-based note persistence with directory structure support","description":"Reor stores notes as markdown files in the local filesystem, organized in a directory structure that mirrors the user's knowledge base organization. The main process handles all filesystem operations (create, read, update, delete) via IPC communication with the renderer, ensuring thread-safe access and preventing concurrent modification conflicts. Notes are stored in a configurable vault directory, and the system maintains metadata (creation date, modification date) alongside note content.","intents":["Store notes persistently on disk in standard markdown format","Organize notes in folders and subdirectories","Enable backup and version control by using standard git/file sync tools","Support importing notes from other markdown-based tools (Obsidian, Roam, etc.)"],"best_for":["Users who want notes stored in portable markdown format","Teams using git for version control of knowledge bases","Developers building tools that need to read/write Reor notes programmatically"],"limitations":["No built-in conflict resolution for concurrent edits; if multiple processes modify the same note file, last-write-wins","Directory structure is flat; deeply nested folders (10+ levels) may impact performance","No automatic garbage collection; deleted notes are removed from disk immediately with no trash/recovery","Filesystem permissions are inherited from OS; no application-level access control","Large note collections (10k+ files) may cause filesystem slowdowns depending on OS and storage device"],"requires":["Read/write access to filesystem","Configurable vault directory (default: ~/.reor or user-selected path)","Electron main process with Node.js fs module access"],"input_types":["markdown note content","note metadata (title, tags, creation date)"],"output_types":["markdown files on disk","directory structure reflecting note organization"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_7","uri":"capability://automation.workflow.settings.persistence.and.configuration.management.with.theme.support","name":"settings persistence and configuration management with theme support","description":"Reor implements a settings system that persists user configuration (LLM model choice, embedding model, theme, vault path) to disk via the main process. Settings are loaded on app startup and can be modified via the UI settings panel. The system supports theme switching (light/dark mode) with real-time UI updates via React Context, and LLM/embedding model configuration with validation. Settings are stored in a JSON file in the app's data directory.","intents":["Configure which local LLM model to use for chat","Select embedding model for semantic search","Switch between light and dark themes","Set vault directory and other app-level preferences"],"best_for":["Users who want to customize app behavior without editing config files","Teams standardizing on specific LLM/embedding models across users"],"limitations":["Settings are stored in plain JSON; no encryption for sensitive values like API keys","No settings versioning; upgrading app versions may cause settings incompatibility","Settings changes require app restart for some options (e.g., vault path)","No settings sync across devices; each installation has independent configuration"],"requires":["Electron main process with filesystem access","React Context for theme state management in renderer","Settings schema validation (likely using zod or similar)"],"input_types":["user input from settings UI","configuration values (strings, booleans, paths)"],"output_types":["persisted settings JSON file","theme CSS variables applied to UI"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_8","uri":"capability://tool.use.integration.electron.ipc.based.inter.process.communication.for.main.renderer.separation","name":"electron ipc-based inter-process communication for main/renderer separation","description":"Reor uses Electron's IPC (Inter-Process Communication) system to enable secure communication between the main process (Node.js with filesystem/LLM access) and renderer process (React UI). The main process exposes handlers for filesystem operations, LLM inference, and embedding generation; the renderer invokes these via IPC calls and receives results asynchronously. This architecture provides security isolation (renderer cannot directly access filesystem) while enabling the UI to trigger backend operations.","intents":["Enable renderer process to trigger filesystem operations safely","Stream LLM responses from main process to UI in real-time","Manage embedding generation in background without blocking UI","Prevent renderer process from directly accessing sensitive operations"],"best_for":["Electron app developers building multi-process architectures","Teams requiring security isolation between UI and backend logic"],"limitations":["IPC adds latency (~1-5ms per call) compared to direct function calls","Serialization/deserialization of large objects (e.g., embeddings) adds overhead","No built-in request deduplication; duplicate IPC calls are not automatically coalesced","Error handling requires explicit error channel setup; unhandled errors in main process may not propagate to renderer"],"requires":["Electron main process with ipcMain handlers","Electron preload script exposing IPC API to renderer","Renderer process using ipcRenderer to invoke handlers"],"input_types":["IPC messages with JSON-serializable payloads","file paths, model names, query strings"],"output_types":["IPC responses with results","streamed data via IPC channels"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-reorproject--reor__cap_9","uri":"capability://data.processing.analysis.note.chunking.and.context.window.management.for.rag","name":"note chunking and context window management for rag","description":"Reor automatically chunks long notes into smaller segments (by paragraph, sentence, or token count) to fit within LLM context windows and improve retrieval precision. When answering questions via RAG, the system retrieves relevant chunks rather than entire notes, allowing more context to be included without exceeding token limits. Chunks are embedded separately and stored in the vector database with source attribution (note name, chunk index).","intents":["Fit long notes into LLM context windows without losing information","Retrieve precise note segments relevant to user questions","Maintain source attribution for retrieved chunks","Balance retrieval precision with context window constraints"],"best_for":["Users with long-form notes (research papers, articles, etc.)","RAG systems where context window is a limiting factor","Teams building QA systems over large document collections"],"limitations":["Chunking strategy is fixed (likely paragraph-based); no adaptive chunking based on content structure","Chunk boundaries may split semantic units, reducing retrieval quality","Overlapping chunks are not supported; information at chunk boundaries may be lost","Chunk size is not configurable; users cannot adjust granularity for their use case"],"requires":["Note content parsing to identify chunk boundaries","Embedding generation for each chunk","Vector database support for storing chunk metadata"],"input_types":["markdown note content","LLM context window size"],"output_types":["note chunks with metadata (source, index, position)","chunk embeddings"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":35,"verified":false,"data_access_risk":"high","permissions":["Transformers.js library for ONNX model execution","LanceDB with native bindings for target platform","Markdown notes in local filesystem","Minimum 2GB RAM for typical note collections (1000+ notes)","Embedding model configured and indexed (Transformers.js or Ollama)","LanceDB vector store populated with note embeddings","Electron renderer process with access to vector similarity computation","In-memory storage for conversation history","LLM context window size configuration","Optional filesystem access for saving conversations"],"failure_modes":["Embedding generation is CPU-bound; initial indexing of large note collections (10k+ notes) may take minutes","LanceDB native bindings are platform-specific (macOS x64/ARM, Windows x64, Linux x64); cross-platform support limited","Hybrid search requires maintaining separate keyword indices alongside vector indices, increasing storage overhead by ~20-30%","Vector dimension size fixed by embedding model choice; switching models requires full re-indexing","Similarity threshold for 'related notes' is fixed or requires manual tuning; no adaptive clustering based on user feedback","Bidirectional linking computation scales quadratically with note count; 10k+ notes may cause noticeable UI lag when opening notes","Similarity-based linking can produce false positives for notes with overlapping terminology but unrelated concepts","No user control over which notes appear in 'related' sidebar; all results above threshold are shown","Conversation history is not persisted by default; closing the app loses chat history","No built-in conversation search or filtering; users cannot easily find previous discussions","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.34088596626220574,"quality":0.35,"ecosystem":0.6000000000000001,"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-05-24T12:16:22.063Z","last_scraped_at":"2026-05-03T13:58:32.037Z","last_commit":"2025-05-13T21:28:59Z"},"community":{"stars":8557,"forks":522,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=reorproject--reor","compare_url":"https://unfragile.ai/compare?artifact=reorproject--reor"}},"signature":"2VCLKCSgmHZBKs/sfEWVNj4eB4KQrx2xVDL/8c9n5vzPWzCHSS5EBCkUqr9EmQ4QBsD4Wk4KUKIH1o6u+gOMAw==","signedAt":"2026-06-22T07:00:44.781Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/reorproject--reor","artifact":"https://unfragile.ai/reorproject--reor","verify":"https://unfragile.ai/api/v1/verify?slug=reorproject--reor","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"}}