# v0.3 Research: Pitfalls **Milestone:** v0.3 Reimagining Cloud Storage integration **Date:** 2026-06-17 ## Major Risks ### Full Mirror by Accident If analysis downloads every cloud file into MinIO, user quota and infrastructure cost explode. Treat bytes as temporary cache unless the user explicitly imports a file. Prevention: separate cloud item metadata/index records from local `documents`; add cache limits and eviction tests early. ### Provider Capability Mismatch OneDrive, Google Drive, Nextcloud, and generic WebDAV do not expose identical semantics. Google Workspace files, WebDAV path IDs, OneDrive item IDs, etag behavior, move/rename semantics, and preview support differ. Prevention: model provider capabilities explicitly and disable unsupported actions with a clear reason. ### Search That Downloads on Query Smart search must query persisted extracted text/embeddings. Downloading cloud bytes during search would be slow, expensive, and fragile. Prevention: search only analyzed/indexed cloud item records; show unanalyzed items as out of search scope until analyzed. ### Stale or Wrong Results Cloud files can change outside DocuVault. Search results become misleading if etags/versions are ignored. Prevention: store last analyzed etag/version, mark stale when provider metadata changes, and re-analyze changed items. ### Destructive Action Surprise Delete/move/rename in cloud mode changes the user's real provider storage, not a DocuVault copy. Prevention: clear confirmations for destructive actions, audit logs, ownership checks, and provider-specific error handling. ### Credential and Token Drift OAuth tokens expire or are revoked. WebDAV passwords/app tokens change. Background jobs may fail long after the user connected the provider. Prevention: connection health state, reconnect flows, token refresh persistence, and failure states that stop retry storms. ### Blocking Event Loop or Worker Exhaustion Provider SDKs may be synchronous and cloud downloads can be large. Prevention: keep sync SDK calls in thread wrappers, stream/chunk large files, use Celery queues/rate limits, and retry external API failures with backoff. ### SSRF and URL Handling Regression WebDAV/Nextcloud URLs are user-supplied. v0.1 already added SSRF guards; new action endpoints must preserve them. Prevention: all WebDAV outbound paths go through existing validation utilities; never join raw user path strings into URLs without provider helper methods. ### Cache Privacy Leak Cached bytes are sensitive document content. A shared cache path without user/item scoping could leak across users. Prevention: cache keys include user id, connection id, item id, and etag; cache content is never served without current-user ownership checks. ### Runaway AI Cost "Analyze all cloud documents" could enqueue thousands of files. Prevention: preflight count/size estimate, explicit confirmation, quotas/rate limits, progress UI, cancellation, and retry controls.