Comparison · Kodori vs FileHold

Kodori vs FileHold, honestly.

FileHold has shipped a competent traditional DMS for two decades — it’s a known quantity in records-management shops and small-to-mid law firms. We’re the AI-native entrant. Honest side-by-side below.

DimensionFileHoldKodori
ArchitectureWindows-server-based DMS, deployed on-prem or hosted by FileHold. SQL Server back-end. Cabinet-drawer-folder hierarchy is the core metaphor.Cloud-native, AI-native, event-sourced. Every operation is a typed MCP tool the agent calls. No folder tree — Collections are saved views over content-addressable blobs.
SearchFull-text search via SQL Server. Solid for filename + metadata queries; PDF body search depends on iFilter configuration.Hybrid: Postgres FTS + pgvector embeddings, fused via Reciprocal Rank Fusion. Concept queries surface relevant documents even without matching keywords.
Audit trailPer-action audit log in SQL Server. Row-level integrity. Standard event-table approach.Per-tenant hash-chained event log. Every event's prev_hash is the SHA-256 of the previous event — tampering is detectable at the chain level, not just the row level.
AI / AgentNo native AI agent in v16. Search is keyword-only.Native typed-tool agent. Calls the same MCP tools the UI does — rename, move, share, hold, retain, dispose, restore. Auto-classifies on upload. Quotes /help articles for how-to questions.
Email filingOutlook plugin with right-click "send to FileHold". Functional but multi-step.Per-tenant ingest address. Forward from any email client. Agent auto-classifies sensitivity, suggests a destination, proposes keywords.
Office add-insWord / Excel / PowerPoint integrations. Save-from-Office. Mature for the on-prem deployment model.Outlook + Word + Excel + PowerPoint task panes all shipped (sideload via /office). One Kodori API key signs into all four — Outlook files email + attachments from the ribbon, Word / Excel / PowerPoint save the active document as new doc OR new version with optional version label.
VersioningMajor + minor version numbers. Check-in / check-out. Optional metadata required at version commit.Content-addressable versions (SHA-256 IS the identity). Optional human label per version ("Final draft", "Sent to counsel"). Server-rendered text-diff compare across any two versions.
Records managementBuilt-in retention with disposition workflow. Strong for the records-management persona.Retention classes + human-confirmed review queue. Held-doc deny-wins integrates retention with legal hold. Auto-tombstone behind a tenant flag in v0.2.
Cabinet / drawer / folder metadata defaultsSchema-tied metadata defaults at the cabinet level (every doc filed there inherits the cabinet's metadata schema). Strong for the cabinet-as-a-record-class model.Configure default sensitivity tier + default retention class on any Collection (cabinet / drawer / folder / matter / project / custom). Members inherit on add — sensitivity is highest-tier-wins (never demotes), retention is no-override (preserves any existing assignment). Backfill existing members in plain English: "apply the HR Records cabinet's inheritance to every doc already filed there." Plus four bulk MCP tools for setting matter-number / client-code / parties / any custom field across a collection in one call. See D294.
PermissionsCabinet/drawer-level groups with inheritance. Solid for traditional folder-based permission models.Per-document deny-wins ACL enforced at the index. Same permission rules apply to UI, search, agent, and API. Ethical-wall-grade isolation without inheritance gymnastics.
Public APIFileHold Web Services API (SOAP) + .NET SDK. Documented; developer access at higher tiers.Modern REST API at /api/v1 (read + write, JSON), OpenAPI 3.1 manifest, opt-in scopes per key, HMAC-signed webhooks (with native Slack Block Kit format).
Public MCP serverNo MCP surface. FileHold has no AI agent integration story today.POST /api/mcp speaks the Model Context Protocol over Streamable HTTP. Claude Desktop, Cursor, ChatGPT desktop, and Kodokyo's agent connect with a Kodori API key and call the same 75+ tools the internal agent uses. Audit-attributable.
Inbound search across firm-wide content (Slack / Outlook / SharePoint / Drive)FileHold searches FileHold. The Slack threads, Outlook correspondence outside formal filing, and SharePoint folders with parts of the document gravity are not searchable from inside FileHold.Six external connectors live: Slack, Gmail, Outlook, SharePoint, OneDrive, Google Drive. Messages and file attachments index into the same FTS + pgvector retrieval Kodori uses for native uploads. The agent's `unifiedSearch` tool fires both legs in parallel and fuses via RRF — operators ask "every reference to project X" and get hits across native documents AND connected Slack / email / SharePoint / Drive in one ranked list. OAuth tokens encrypted at rest. GDPR Article 17 right-to-be-forgotten purge on connector revoke.
DeploymentSelf-host on Windows Server, or FileHold-hosted cloud. Strong on-prem story for firms with strict residency policies.Cloud-managed only at MVP. Vercel + Neon + Cloudflare R2, US-East. Self-host packaging deferred until enterprise demand justifies.
Compliance postureLong history of regulated deployments (DoD 5015.02 environments, healthcare, gov). SOC 2 audit cadence varies by deployment.SOC 2 Type I is `audit-pending` (substrate ready; auditor engagement gated on revenue / funding). Type II sequenced after Type I. HIPAA + BAA is `customer-anchored`. 21 CFR Part 11 conformance claim is **live today** at /legal/21-cfr-part-11.
PricingPerpetual or subscription licenses, usually $20-$40 per user per month plus implementation. Lower than iManage / NetDocuments; higher than open-source ECMs.Three tiers, per-seat pricing, no implementation fees. See /pricing for current numbers.
MigrationFileHold owns this market for legacy escape — many firms shop us specifically because they want OFF FileHold.Two paths today. (1) The dedicated FileHold REST connector (beta) walks /FH/api/v1 directly — probe lists cabinets, discover pages /Documents/Search, download streams /Documents/{id}/Content. FileHold's Library → Cabinet → Drawer → Folder hierarchy maps to Kodori Collections, and schema-defined metadata (MatterNumber, ClientName, DocumentDate, etc.) round-trips into Kodori metadata. (2) Use FileHold's admin export tooling to dump cabinets to a folder, copy to any S3-compatible bucket (AWS / Cloudflare R2 / MinIO), and run Kodori's S3-bucket connector. The REST path is preferred for live migrations; the bucket path is the offline option for air-gapped environments.
Document compare / redlineNo native redline view. Operators download both versions and use Word's Track Changes externally.Word-style word-level redline shipped built-in on /doc/[id]/compare. Insertions in green, deletions in red strikethrough; mode toggle to unified line-level view for code or data.

Highlighted cell indicates the dimension favours that product on a generic mid-market deployment.

Common questions.

Why are firms moving off FileHold?
The pattern we hear: FileHold ships a competent traditional DMS, but the cabinet-drawer-folder metaphor and lack of native AI feel dated against AI-native alternatives. Search returns filename matches but struggles with body-text concept queries. The Outlook integration works but the email-filing flow is multi-step. The audit trail is solid but row-level rather than chain-level. Customers tell us they want what FileHold is good at — clean retention workflow, defensible records management — without the dated UX.
Will Kodori support our on-prem deployment?
Not at MVP. Kodori is cloud-managed only — Vercel + Neon + Cloudflare R2. We deferred self-host packaging until an enterprise customer's contract requires it. If on-prem is a hard requirement, FileHold wins this comparison. If "regulated cloud with audit-defensibility" is the requirement, Kodori wins.
Is the FileHold migration connector ready?
Yes — the dedicated FileHold REST connector ships in beta today. It walks /FH/api/v1 directly: probe validates the OAuth2 password-grant token + lists cabinets, discover pages /Documents/Search 100 docs at a time (optionally scoped to one cabinet), download streams /Documents/{id}/Content. Library → Cabinet → Drawer → Folder maps to Kodori Collection paths and schema-defined metadata round-trips. Beta because it has been tested on mock fixtures only; the flip to ready follows the first real-tenant pilot. The S3-bucket connector remains the offline option for air-gapped FileHold environments.
How does the audit trail compare?
FileHold logs every action in a SQL Server audit table — defensible at the row level, mature, shipped for years. Kodori chains every event's prev_hash to the SHA-256 of the previous event, so tampering is detectable at the chain level. For a firm whose audit posture has never been challenged, both are sufficient. For a firm anticipating real depositions or 21 CFR Part 11 inspection, the chain is materially stronger evidence.
What about the existing FileHold workflow features?
FileHold ships workflows (review, approval, sign-off). Kodori has Inngest as the durable workflow primitive but doesn't ship pre-built review workflows in v0 — auto-classification on upload IS a workflow but you can't configure custom approval chains today. AP-invoice-style flows land in Phase 1.

Drop a folder. See the difference.

Five minutes from Google sign-in to a working DMS on your own documents. We won’t replace FileHold today, but we’ll show you what AI-native search and audit feel like.