SECURITY

Your data, your tenant, your control.

Findable runs inside your Azure tenant. Your data never leaves. Identity is Entra ID. Access is ACL with inheritance at every level. Built like enterprise software, because it is.

COMPLIANCE

Where we are. What’s next.

We say what’s done, what’s in progress, and what’s on the roadmap. We don’t print badges we haven’t earned.

SOC 2 Type IIIn preparation

Trust Services Criteria mapped. Controls being implemented now. Observation period begins this quarter.

ISO 27001On roadmap

Planned after SOC 2 Type II. ISMS documentation under way — same controls inherited.

HIPAABAA available

HIPAA-mode deployments restrict LLM providers to BAA-eligible (Azure OpenAI, Bedrock, Anthropic Enterprise, Vertex). BAA on request.

ARCHITECTURE

Single-tenant. Single subscription. Single blast radius.

Findable deploys to your Azure subscription. Your data shares no Cosmos, no storage, no compute with another customer. There is no “Findable cloud.” The blast radius of any incident is your tenant — and so is the recovery.

YOUR TENANT
Your Azure subscriptionApp Service · Cosmos DB · Azure Search · Storage · Key Vault · Managed Identity
all data here
EDGE
LLM providers you enableListed in your settings, switchable per chat. Outbound only — nothing leaves the tenant unless your admin says so.

IDENTITY & ACCESS

Entra ID for who. ACL for what.

Every user authenticates through your Entra ID tenant. No Findable account creation, no parallel directory, no shadow IT. Group memberships flow through automatically.

Access control runs at three levels — app, page, entity — with inheritance from above and override at any level. External and guest users are blocked by default. Admin bypass is explicit and recorded.

ENCRYPTION & DATA RESIDENCY

Your data, your region, your keys.

TLS in transit, Azure-managed encryption at rest by default. Customer-managed keys (CMK) available for regulated workloads. SQL adapters enforce strict TLS to your data warehouses.

Data residency is your subscription’s region — we have no shared cloud, no central database, nothing crosses geographies. Cosmos partition keys isolate users at the data layer.

PERMISSION-TRIMMED RETRIEVAL

The index respects the file's ACL.

SharePoint and OneDrive documents carry their real user and group permissions into the search index. Every query is trimmed against the asking user's own identity token before a single passage reaches the model — so retrieval can never surface a document the person couldn't already open in SharePoint.

Permission changes sync incrementally on each indexer run rather than waiting for a full reindex. If the user's identity token can't be acquired, protected sources are skipped and the chat says so — Findable will not fall back to answering from untrimmed results.

OBSERVABILITY

Logs go to your workspace, not ours.

Findable ships application logs into your own Azure Log Analytics workspace through the Monitor Logs Ingestion API, authenticated with managed identity against a Data Collection Rule you own. No API keys to rotate, no vendor-side log store, no egress of operational data out of your tenant.

Query in KQL alongside the rest of your Azure estate, chart error rates and latency, set your own alerts and retention. Shipping is non-blocking and failure-isolated — a misconfigured workspace degrades your dashboards, never the application.

ZERO SECRETS

Run it with no API keys. Anywhere.

Every Azure dependency — Cosmos DB, Blob Storage, AI Search, Azure OpenAI and AI Foundry, Document Intelligence, Azure Monitor — can authenticate with the App Service's managed identity instead of a key, one component at a time, and the resource's local auth can be switched off once each is verified. Microsoft Graph uses the same identity as a federated credential on the server app registration, so there is no client secret to create, rotate or leak, and delegated Exchange and OneDrive tools still work.

The install is scripted and idempotent: one script grants every role assignment for the App Service, each deployment slot and the search service, and a separate strict lock-down pass disables keys only after every health probe is green. Per-user sign-in tokens for MCP servers are sealed at rest under a Key Vault key with AES-256-GCM envelope encryption, and a missing key refuses the save rather than storing a token in the clear.

AGENT SAFETY

Tools are policed, not trusted.

A tool call can only go where policy allows: http or https, no credentials in the URL, and a model-chosen address is never a loopback, private, link-local or cloud-metadata endpoint. An instance's stored credential is sent only to the origin that instance was configured with — never to a host the model picked. Tool results that come from content someone else wrote are tagged as untrusted before the model sees them, and an outbound call after reading untrusted content has to be confirmed by a person.

We are explicit about the one place this stops: custom JavaScript tools run as trusted application-server code with a timeout, not inside a sandbox. So only administrators and app-level contributors can introduce or change that code, it defaults to the strictest approval tier, and every live agent that runs JavaScript was published by one of them.

SUBPROCESSORS

Only the LLM providers you choose.

Findable itself has no subprocessors. The platform doesn’t phone home, doesn’t ship telemetry to us, doesn’t store your data anywhere we control. The third parties that touch your data are the LLM providers and connectors your admin enables — listed in your settings, not buried in a contract.

Need our security questionnaire?

Pen test results, SIG, CAIQ, architecture deep-dive — we have them ready. Email a human, get an answer.