Internal-docs RAG · citations · ACL · gap report · injection defenses
Your company almanac, indexed and queryable.
The single most-listed AI project on Upwork right now reads "build us an AI assistant on our company docs." Almanac is the version that doesn't punt on the load-bearing parts — citations that stream inline, ACL propagated from the source, a content-gap report on what the system couldn't answer, and prompt-injection defenses on every retrieved chunk.
Try it on the fixture corpus
The public demo runs against a fictional company's docs across Drive, Notion, and Slack — ~22 documents on PTO, deploy process, on-call, security escalation, contractor onboarding, and so on. Role toggle changes ACL (Engineer can see deploy docs, Contractor cannot). Injection-bait docs sit in the corpus — the defenses are demonstrably exercised.
What's different from a ChatGPT-with-file-uploads demo
Citations that stream inline
ACL is propagated, not faked
The no-answer gap report
Prompt injection is a primary threat
Re-index is observable and atomic
pgvector only, no managed sidecar
Stack
- Laravel 13 + Filament 5Chat API, admin, connector OAuth, ACL model. Per-workspace partial HNSW index lifecycle.
- FastAPI (Python 3.12)Embed + chunker + LLM-judge sidecar. supervisord-managed, numprocs=2 from day one.
- PostgreSQL 16 + pgvector ≥ 0.8Per-workspace partial HNSW + iterative-scan ACL pre-filter. No Pinecone, no Weaviate.
- Next.js 16 + ScalarDocs / marketing / live chat demo, OpenAPI-driven API reference.