Module 11 / Search

Every system, one ranked answer.

Live Part of Atlas

Search returns one ranked answer with citations across every system your team uses. Docs, mail, code, tickets, decks, transcripts, contracts, the warehouse. Permissions are enforced at query time, so the person asking sees only what they are entitled to.

What it does

Five capabilities, all permission-aware.

Most enterprise search returns a list of links and hopes for the best. Search returns one grounded answer, with rank, with citations, with ACL enforcement at query time.

Docsinternal & shared
Mailper-user only
Ticketstasks + jira
CodeGitHub + GitLab
Callstranscripts
Decks+ contracts
Permission-aware at query time

Every document is re-checked against the asker's ACLs at query, not at index. A revoked share stops appearing as soon as the change propagates. No stale index leak.

One grounded answer, not 10 blue links

The model writes the answer using only retrieved spans. Every sentence has a citation. If the corpus does not support an answer, we say so.

Cross-system in one query

40+ connectors. Salesforce, Notion, Confluence, Drive, GitHub, Linear, Zendesk, Slack, the warehouse, and more. Same ranker, same answer.

Federated retrieval, no copy

For sensitive sources we can run retrieval without copying source data into our index. The connector returns spans on demand, verified per query.

Auditable everything

Every query, every retrieved span, and every ACL decision is logged. Export the audit log for legal hold and eDiscovery.

How it works

Three passes, in series.

Search runs three passes for every query, in series, with most of the cost paid by the cache.

PASS 01docsmailticketscodecontractswarehousecandidatestop-400all sourcescached chunks

Hybrid retrieval

BM25 + dense vectors run in parallel across every source. The top candidates surface from every source at once. Per-source ACL pre-filter happens here.

PASS 02Rerank · 30 finalists0.940.890.840.780.650.42

Rerank with cross-encoder

Top 30 finalists get a cross-encoder rerank tuned on your workspace clicks. The output is the snippet ranking you see.

PASS 03Synthesize · grounded answer"Our position is that EU datais stored in Frankfurt underSCCs [doc DPA v3]. Financemay use Zurich [mtg 11/4]."all sentences cited · ungrounded dropped

Synthesize with citations

The model composes from the top spans only. Every sentence has a citation. Ungrounded sentences are filtered before display.

Key features

Nine more, all shipping.

Each is in the base product. None requires a separate connector marketplace charge.

40+ connectors

Slack, Notion, Confluence, Drive, SharePoint, Gmail, Outlook, GitHub, Linear, Zendesk, Intercom, Salesforce, HubSpot, the warehouse, more.

ACL at query time

No stale index leaks. A revoked share stops appearing as soon as the change propagates. Permission diffs are audited.

Multilingual

Query in EN, retrieve in 24 languages. The answer composes in your preferred language with sources hovered in original.

Question history

Per-user history with smart redaction of sensitive queries. Shared history available for team learning, opt-in.

Federated for sensitive

Some sources never copy data into our index. The connector returns spans on demand, verified per query, audited per access.

Filter and facets

Filter by source, date, author, type, language, project. Saved filters per role (engineering, legal, sales).

Inline at every surface

Cmd-K from any wrxstack module. Browser extension. Slack slash. Same ranker, same ACLs.

Click-through learning

The reranker fits on your clicks, per workspace, so results sharpen as your team uses it.

DLP and redaction

Sensitive tokens (secrets, PII) masked in retrieved spans and in the answer. Logged per access.

Connected

Search reads every surface.

Search is the reading half of the platform. Every other module both feeds it and is searchable from it.

Six native sources plus 40+ external

Search is the reading half of the platform. The other six modules feed structured content with rich edges, and the 40+ external connectors fill in the rest of the stack. Same query, same ranker, same ACL enforcement.

Docs → block indexInbox → thread indexDocuments → page indexTasks → comments + linksMeetings → transcriptsContracts → clauses
API

Programmatic retrieval.

Run grounded queries from any backend. Pass an "as_user" header to enforce that user's ACLs.

search.py
# Ask a question with a specific user's ACLs, return cited answer.
from wrxstack import Wrx

wrx = Wrx(token=os.environ["WRX_TOKEN"])

answer = await wrx.search.ask(
    query="what did we tell Acme about how their data is secured",
    as_user="sandra@acmerobotics.com",   # enforce that user's ACLs
    sources=["docs", "meetings", "contracts", "inbox"],
    cite_style="inline",
    fail_if_ungrounded=True
)

if answer.grounded:
    for sent in answer.sentences:
        print(sent.text, sent.cites)
else:
    print("corpus did not support an answer; do not invent.")

# Or fetch retrieval-only, no synthesis, for your own RAG pipeline.
spans = await wrx.search.retrieve(query="...", top_k=20, as_user="...")
Comparison

Search vs. Glean.

Glean is a strong enterprise search. wrxstack Search is enterprise search that lives inside the work graph and shares ACLs with the rest of the platform.

wrxstack Search vs. Glean

CapabilityGleanwrxstack Search
Cited answer modeAvailableDefault, ungrounded sentences dropped
ACL freshnessHourlyQuery-time enforce, near-instant revoke
Federated retrievalLimitedFirst-class for sensitive sources
Inline at every surfaceApp + extensionCmd-K from every wrxstack module
Native object typesGeneric blobDocs, Tasks, Contracts as types
Per-tenant modelShared infraPer-tenant rerank, per-tenant index
Audit logAvailableQuery + spans + ACL diff, exportable
FAQ

Common questions.

Six things buyers ask before adopting Search.

How is ACL enforcement actually done at query time?

Each candidate span carries the source ACL hash. At query time we resolve the asker's permissions against the source system (cached briefly) and prune any span the asker is not entitled to. A revoke event invalidates that cache promptly, so access changes take effect on the next query.

What is the cost of running many connectors at scale?

Connectors are included, and indexing scales with the number of sources you connect. Large, high-volume deployments run under a fair-use bandwidth cap. Pricing is set inside the product, shown when you are ready to grow.

How does first indexing work?

We index in priority order, recently edited content first, so the most-searched part of your corpus becomes available while the long tail keeps indexing in the background. Progress is visible per source as it runs.

Can we use our own LLM or embedding model?

Yes. Embedding models can be swapped per connector. The synthesis model is configurable per workspace (Anthropic, OpenAI, Cohere, or self-hosted). The rerank model is per-tenant by default and fine-tuned on your clicks.

What happens for queries the corpus does not answer?

By default we return "the corpus does not support an answer" and show the top 3 retrieval results. The synthesizer is constrained to grounded sentences; ungrounded ones are filtered. We do not let the model fall back to its training corpus.

Do you support warehouse and structured data?

Yes. The warehouse connector supports Snowflake, BigQuery, Redshift, and Databricks. Tables are searchable by schema and by sampled content. Joins with documents (find me deals tagged "enterprise" plus the doc that defines the discount policy) are supported in a single query.

Does it search across all my company's apps at once?

Yes. One query runs across everything you have connected, your docs, tasks, CRM records, meetings, inbox, and the 60+ integrations, and returns a single ranked answer with the source attached. You do not search each app on its own and stitch the results together. Access controls are respected, so a person only ever sees what they are already allowed to see.

Related

Pairs well with.

Search is sharpest with Docs, Meetings, and Documents live.

Honest limits

Who this is not for.

Search returns one ranked answer across your Atlas modules and connected apps. If you need to index millions of documents across hundreds of external systems, or tune a relevance engine over a large outside corpus, a dedicated enterprise-search platform will fit better. Search is built to answer across your workspace, not to run as standalone infrastructure.

Get started

Stop hunting across systems.

Free to start, no credit card. Connect five sources in under 20 minutes. The first cited answer lands the same day.