Tara · Discovery · Road to V1

Sprint Tracker

Where we are on the way to V1 — what shipped, what's in flight, and what's next. One source for leadership, product, and engineering.

AS OF  2026-05-31
CURRENT  Sprint 4
V1 GA TARGET  ~mid-Jul 2026
CXO · progress & goals Product / TPM · sprints & tasks Engineering · feature status matrix

V1 progress at a glance

By the numbers

31
Features live
Built & backed by real data
6
In progress
Partial — backend ahead of UI
9
Planned for V1
Scoped, not yet started
4
Sprints shipped
S0–S3 done · S4 in flight
4/9
Integrations live
AWS · GCP · GWS · Endpoint · (Slack/Azure/GitHub partial)
V1 feature surface — 46 tracked items ~67% live · 13% in progress · 20% planned

The destination

What V1 means

V1 is the Discovery module, feature-complete. Tara detects AI agents and Non-Human Identities across AWS, GCP, Azure, GitHub, the identity backbone (Google Workspace / M365), and the endpoint — pulls control-plane state and audit logs (never proxies traffic), and produces a typed identity-and-access graph plus a findings feed.

The engine — connectors, IAM blast-radius expansion, privilege-escalation detection, risk scoring, cross-integration correlation, and the access graph — is built and running today. V1 closes the remaining gaps: the last UI surfaces, deeper Azure/GitHub coverage, and the governance/platform rails (RBAC, self-audit, alerting) that make it deployable in a customer's environment.

Discovery is phase one of the broader Discover → Govern → Intervene harness. Govern and Intervene begin after V1.

▶ Discover · V1 (now) Govern · post-V1 Intervene · post-V1

What's left for V1

  • Azure / GitHub — deepen beyond credential + scaffold enumeration
  • Playbooks & Watchlist pages — backends ready, browse surfaces are scaffolds
  • Executive dashboard — headline numbers + trend line
  • Dormancy view — dedicated surface for idle, over-permissioned agents
  • Change-audit export — date-ranged CSV of scan-to-scan diffs
  • RBAC roles — Admin / Viewer enforcement on routers
  • Tara self-audit log — who triggered / acknowledged what
  • Webhook alerting + scan-failure notification
  • Slack connector — promote catalog to a live integration

Product / TPM view

Sprint board

Each lane is a sprint, each card a deliverable. Reconstructed on a two-week cadence from the delivery history (mid-April → end-May 2026) and the roadmap. S0–S3 shipped · S4 is current · S5–S7 and the parked lane are ahead. Scroll the board horizontally →

S0Shipped

Foundation & platform rails

→ Apr 11 · Stand up a secure, contract-locked backend the whole product can build on.

Locked graph contractDone
shared/core/graph_types.py
Platform
Encrypted credential storeDone
shared/core/crypto.py
Platform
Error envelope + read-only IAMDone
error_codes.py · infra/iam-policy.json
Platform
S1Shipped

AWS discovery core

Apr 14 – 25 · Answer "what AI is running in AWS, and what can it reach?" end-to-end.

AWS connectorsDone
integrations/aws/
Cloud
Blast-radius + escalationDone
iam_expander.py · escalation.py
Cloud
Findings engine + risk scoringDone
worker/findings.py · scoring.py
All
Scan orchestrationDone
worker/scheduler.py
Platform
Inventory + agent detail UIDone
+ moto-backed coverage
Cloud
S2Shipped

GCP + identity backbone

Apr 28 – May 9 · Extend beyond one cloud — add GCP and the shadow-AI identity surface.

GCP connectorsDone
integrations/gcp/
Cloud
Google Workspace connectorDone
google_workspace/
IdentitySaaS
Slack app catalogDone
integrations/slack/
SaaS
Change feed + CSV exportDone
All
S3Shipped

Endpoint sensor + UI v1

May 12 – 23 · Catch local/IDE AI that never touches corporate identity, and rebuild the IA around it.

Endpoint sensor (TELO 1.0)Done
macOS Swift app · integrations/dns/ · dns_events.py
EndpointSaaS
DNS classifierDone
29+ provider classification
Endpoint
UI v1 Phase ADone
shell + new information architecture
Platform
pnpm migration + supply-chain hardeningDone
Platform
S4● Current

Cross-integration correlation + access graph

May 26 – Jun 6 · Turn per-cloud findings into one cross-cloud story — who reaches what, across providers.

Cross-integration correlationDone
findings.py::evaluate_global (UC-1…6)
All
UC-7 cross-cloud identityDone
CROSS_CLOUD_IDENTITY · identity.py
CloudIdentity
Access graph (rebuild)Done
React Flow · components/graph/
CloudIdentity
Identity Mapping screenDone
/identity-map · identity_mappings
Identity
Findings page detail panelDone
All
AWS Route 53 DNS minerIn progress
PR #24 · aws/route53_dns.py
CloudEndpoint
Live-scan UC firingIn progress
beyond simulate (UC-1/UC-6 live)
All
S5Upcoming

Discovery completion — close the UI

Jun 9 – 20 · Finish every surface a user expects on top of the engine that already exists.

Playbooks browse surfaceIn progress
pages/Playbooks.tsx (scaffold)
CloudIdentity
Watchlist surfaceIn progress
pages/Watchlist.tsx (scaffold)
All
Executive dashboardPlanned
4 headline numbers + trend line
All
Dormancy viewPlanned
idle but privileged agents
CloudIdentity
Change-audit exportPlanned
date-ranged scan-diff CSV
All
S6Upcoming

Coverage deepening

Jun 23 – Jul 4 · Bring Azure, GitHub, and Slack up to the depth AWS & GCP already have.

Azure deeper enumerationPlanned
Graph servicePrincipals/applications · backlog #5
Cloud
GitHub deeper enumerationPlanned
org auth · Actions secrets · backlog #8
Dev
Slack connector → livePlanned
promote catalog to scheduled integration
SaaS
S7Upcoming

Govern & platform hardening

Jul 7 – 18 · Make Tara deployable in a customer environment — access control, auditability, alerting.

RBAC rolesPlanned
Admin / Viewer enforcement on routers
Platform
Tara self-audit logPlanned
who triggered / acknowledged / changed
Platform
Webhook alertingPlanned
high-sev → Slack/webhook, severity filters
Platform
Scan-failure notificationPlanned
expired cred · revoked perm · rate limit
Platform
Post-V1

Post-V1 / parked

Post-V1 · Explicitly out of V1 — sequenced after the Discovery module is complete.

Browser extensionPlanned
on-device AI web-tool visibility
EndpointSaaS
Endpoint sensor — Linux / WindowsPlanned
.deb/.rpm · systemd · backlog #10
Endpoint
Multi-account scan executionPlanned
AssumeRole per member · backlog #3
Cloud
Govern & Intervene phasesPlanned
policy enforcement · playbook execution
All

Engineering view

Feature status matrix

The full v1 feature catalogue, mapped to real status derived from the source — not the uniform "WIP" the spec decks show. Sprint column is where it landed (or is targeted). Evidence is the authoritative file.

What you see & do
FeatureWhat it doesSprintEvidenceStatus
Agent inventoryOne list across every integration; filter by type, account, risk, dormancy.S1pages/AIAgents.tsxDone
Agent detailModel, tools, knowledge bases, resource reach, invocation history, open findings.S1agents.pyDone
Risk findings feedAll issues in one feed; filter by severity, type, date; detail panel.S4pages/ThreatDetection.tsxDone
Focus viewCurated "act on this week" — top agents by risk with highest-severity findings.S1focus.pyDone
Posture policiesNamed rules with open/resolved lifecycle per violation.S2pages/Policy.tsxDone
Activity reviewsReviewer workflow over invocation activity — ack, escalate, attach notes.S2activity_reviews.pyDone
Identity & access graphVisual reach map centred on any node — agents, roles, data, humans.S4AccessGraph.tsxDone
Identity mappingOperator screen mapping directory ↔ cloud identities.S4pages/IdentityMap.tsxDone
DNS / endpoint monitorLive per-process AI-egress stream; names app + provider.S3dns_events.pyDone
Onboarding wizardStep-by-step integration setup with credential validation + policy generation.S1pages/Setup.tsxDone
Integration & credential mgmtRotate/replace credentials without re-onboarding; AES-256-GCM at rest.S1IntegrationDetail.tsxDone
Live log streamSSE stream of in-flight scan activity — stage, what it's enumerating, why it stalled.S2logs_stream.pyDone
Scan job controlOn-demand scan, per-stage timings, history.S1pages/Scans.tsxDone
PlaybooksResponse workflows per finding. Backend + per-finding drawer live; browse page is a scaffold.S5pages/Playbooks.tsxPartial
WatchlistPin agents/roles/principals. Pin backend live; surface page is a scaffold.S5pages/Watchlist.tsxPartial
Change-audit exportDate-ranged CSV of scan-to-scan diffs.S5Planned
Executive dashboardFour headline numbers + trend line for leadership.S5Planned
Dormancy viewDedicated idle-but-privileged agent surface.S5Planned
Webhook alertingPush high-severity findings to Slack/webhook with severity filters.S7Planned
What Tara computes
FeatureWhat it doesSprintEvidenceStatus
Blast-radius expansionResolves an execution role into named buckets, tables, secrets, queues.S1iam_expander.pyDone
Privilege-escalation detectionWalks the permission graph ≤3 hops to surface indirect control paths.S1escalation.pyDone
Identity & access graph (engine)Typed graph, single-writer guarantee, locked schema = API.S0worker/graph.pyDone
Findings engineRule-based + AI-specific pattern detector, severity-tagged.S1worker/findings.pyDone
Invocation attributionResolves caller identities into human names; 7/30/90-day windows.S1aws/cloudtrail.pyDone
Agent classificationPersona-tags workloads (Bedrock, SageMaker, AI-likely Lambda, MCP, CI/CD bot).S1persona_tagger.pyDone
Risk scoring0–100 score per agent from severity, data reach, frequency, escalation.S1worker/scoring.pyDone
Cross-integration correlationJoins findings across integrations (UC-1…UC-7) on shared keys.S4findings.py::evaluate_globalDone
Scan orchestrationSingle-flight runner + 15-min janitor; scheduler-driven recurrence.S1worker/scheduler.pyDone
Change detectionScan-to-scan diff. Posture changes via API today; no dedicated diff engine.S5posture.py (partial)Partial
Platform — non-negotiables
FeatureWhat it doesSprintEvidenceStatus
Encrypted credential storeAES-256-GCM at rest; sentinel tests block secret leaks.S0shared/core/crypto.pyDone
Locked graph contractNode/edge renames require migration + frontend bump.S0graph_types.pyDone
Structured error envelopeEvery error returns {error, code} from one registry.S0error_codes.pyDone
Read-only by constructionAWS IAM locked read-only; permission gaps → findings, never errors.S0infra/iam-policy.jsonDone
MCP endpointExposes findings + inventory over MCP for analyst-side agents.S2routers/mcp.pyDone
RBAC rolesAdmin / Viewer enforcement on routers. Auth scaffold present, not enforced.S7Planned
Tara self-audit logLog who triggered/acknowledged/changed what.S7Planned
Scan-failure notificationAlert on failed scheduled scan (expired cred, revoked perm, rate limit).S7Planned
Integrations
IntegrationWhat it surfacesSprintEvidenceStatus
AWSBedrock, AgentCore, SageMaker, Amazon Q, Lambda & ECS, IAM, CloudTrail.S1integrations/aws/Done
GCPVertex AI, Cloud Run/Functions, Cloud Logging.S2integrations/gcp/Done
Google WorkspaceOAuth grants, directory, audit logs — primary shadow-AI surface.S2google_workspace/Done
Endpoint / DNS sensorOn-host capture, per-process attribution, 29+ provider classification.S3integrations/dns/Done
SlackInstalled bots/apps, AI-likelihood + scope analysis. Catalog live; connector promotion queued.S6integrations/slack/Partial
AzureOpenAI deployments, AI Studio, Container Apps, Entra registrations.S6integrations/azure/Partial
GitHubRepos with AI SDK usage, Actions AI env vars, NHIs, OAuth apps.S6integrations/github/Partial
Microsoft 365 / EntraApp grants/registrations, directory, sign-in logs.S6Planned
Browser extensionOn-device visibility into AI web tools + sessions.Planned

Customer & board view

Coverage — local vs. deployed

Two ways to read "coverage": the 7 company stories Tara can tell (real situations a CISO recognises), and the broader catalogue of ~19 AI / agent types a company can have. "Covered locally" is split into what we can demo on built-in data vs. what produces real findings with nothing deployed.

Q1

What do we cover running locally?

Demo on built-in data (one command)

6 of 7 stories

The unowned agent, AI editing your directory, source code leaving a laptop, shadow-AI seen two ways, laptop-to-grant correlation, and the over-shared copilot all run end-to-end. (The 7th — one employee across two clouds — is present but not asserted.)

Real data, nothing deployed

~0 validated

The only thing that yields real data with no cloud connection is watching a real laptop talk to AI services — everything else needs a real account.

Be honest: that laptop sensor — our one real-data-without-deploy capability — is not tested end-to-end yet. And of the ~19 AI / agent types in the broader catalogue, only one is actually built & tested today (detecting an AI that writes to your Google Workspace directory); the rest are designs.
Q2

How much more when we deploy?

Deploying = connecting read-only access to a customer's AWS and Google Workspace (the two highest-value), plus the laptop sensor.

Company stories

All 7 → real data

AWS + Google Workspace light up the unowned-agent, directory-edit, shadow-AI, over-shared-copilot and cross-cloud-identity stories on real data; the laptop sensor completes the two endpoint stories.

AI / agent breadth

~9–11 of ~19

Cloud-hosted agents (managed, serverless, container, VM, CI-CD) and data-pipeline agents (queue- / API-gateway-triggered) become discoverable on real infrastructure.

Still not covered even when deployed: employee no-code automations (e.g. Zapier) and AI browser extensions (no connector — need the SaaS / device-management source), anything living purely on a laptop (needs the sensor), and streaming-pipeline agents.

Caveat: "covered when deployed" means the connector pulls real data and discovery runs — but only one detection is automated-tested today, so deployment raises potential coverage far more than validated coverage until each is exercised on a real account.
Q3

Top 2–3 things in the next 2 days

1

Prove the laptop sensor on a real machine

Capture a real person using Cursor / Claude / ChatGPT, show it tied to the app and provider, and write the missing test.

→ our one real-data-without-deploy capability, currently unproven — the biggest credibility gap.
2

Live read-only AWS scan on a sandbox

Seed a managed agent, an AI serverless function, and an over-privileged role; show real discovery + blast radius + an escalation path + the unowned-agent & over-shared-copilot stories.

→ proves the deploy story on real cloud; lifts built detections from 1 → 3.
3

Connect a real Google Workspace (read-only)

With AWS already live, this lights up the shadow-AI and one-employee-two-clouds stories on real data.

→ one integration unlocks the cross-cloud "wow."

If only two: do #1 and #2 — the real-local wedge and the real-cloud proof.

The 7 company stories Tara tells
Story 01

The agent nobody owns

An AI agent spun up for a one-off project still holds live access to a production database and a customer-data bucket — but the person who built it moved on and no human owns it. It hasn't run in 90 days, so it's invisible on every dashboard. Tara flags it: sensitive access, zero recent activity, no owner — and shows exactly what it can still reach.

Story 02

An AI is editing your employee directory

A custom GPT wired into Google Workspace to "help with onboarding" can now create and delete employee accounts — and does so automatically, with no human approving each action. Tara catches the moment an AI, not a person, is making admin writes to your identity system, and names the AI and what it changed.

Story 03

Source code leaving on a laptop

An engineer's local AI coding tool is quietly sending proprietary source code to an AI service that never went through review and never touched corporate SSO — invisible in every cloud log. Tara, on the endpoint, sees the laptop talking to that service, names the app doing it, and names the provider it's sending to.

Story 04

Shadow AI, caught two ways

An employee signed up for an AI assistant and clicked "connect to Google" and "add to Slack" — now it can read their mail, files, and messages, and nobody in security approved it. Tara finds the same tool from two independent angles — the Slack install and the Google OAuth grant — and corroborates them into one confirmed finding.

Story 05

From the laptop to the grant

Tara sees an AI tool running on someone's laptop and sees that same person grant that tool access to corporate data. Each alone is a yellow flag; connected, it's a clear, high-priority story — this person, this tool, this reach into company systems — the kind that becomes an action, not an argument.

Story 06

The copilot everyone can drive

A team built an AI "Workspace Copilot" for Finance and gave it broad access to Drive, Gmail, and Calendar — but the way it's wired, people outside Finance can invoke it too, inheriting its access to Finance data. Tara shows the over-sharing: a powerful agent whose set of callers reaches beyond the team it was built for.

Story 07

One employee, two clouds

Your engineer "Alice" has one identity in AWS and a separate one in Google Workspace — different systems, no obvious link. Attackers and auditors both care about the person, not the account. Tara connects the two, so when you look at blast radius or work an incident you see one human and everything she can reach across both clouds — not two disconnected fragments. (This cross-cloud link is the capability that ties the other six stories together.)