We don't just promise things about how Taggard works — we trace each claim to the exact file, function, or query that has to be true for it to hold, and publish the result below.
Last checked 2026-09-03 — re-audited after every copy change, twelve passes since launch
“Every note gets two kinds of tags — Taggard suggests both: one set styled for browsing, yours to accept or reject, and a hidden layer for deep, cross-referenced recall.”
“People, organizations, places, and products — recognized and matched across every note.”
Exact match to the extractor's type enum — no more, no fewer.
“Taggard finds when one note builds on, contradicts, cites, or overlaps in topic with another — automatically, not a backlink you draw yourself like in Notion or Obsidian — and shows the exact passages that triggered it.”
No manual-create path exists anywhere in the codebase for a cross-reference row.
“Get an answer built from across your notes — including ones connected by meaning, not just keywords — with sources cited.”
“Pick a topic and see it as a timeline: which note built on which, where you changed your mind, and when.”
“Notes that share a latent pattern get clustered automatically, and Taggard can name what connects them.”
Real union-find clustering over shared hidden tags — not a frequency count.
“Every note and connection, visualized. Click a dot, follow a line.”
“Every extraction step... is a dedicated model call with its own schema, not one prompt doing everything.”
“GPT-class models handle tagging, entity extraction, cross-reference classification, and theme naming as separate, schema-constrained calls — plus a free-form call for Ask's actual answers.”
“Every note, chunk, tag, and entity gets an embedding. Postgres + pgvector (HNSW-indexed).”
“New tags and entities are matched against existing ones by embedding distance before creating a duplicate — close variants merge automatically, and near-misses are flagged in your Insights digest instead of silently piling up.”
“Server-rendered throughout, backed by hosted Postgres (Supabase) with Prisma. No separate vector database to keep in sync.”
“Reads are enforced with Row-Level Security at the database itself — so Postgres refuses to return another account's rows even if the app had a bug.”
“Export your full knowledge base as JSON or CSV whenever you want.”
Genuinely full — entities and incoming connections included.
“Taggard sits underneath whatever you already use to capture notes.”
“Drop a document (.txt, .md, .pdf, .docx) or paste text directly.”
“Taggard suggests visible tags and a hidden layer underneath. Accept what's right, reject what's not — every call sharpens what it suggests next time.”
“Entities get resolved and the note is automatically checked against everything else you've written — not just for shared keywords.”
“This is the same graph you can click through on the Graph page.”
The homepage illustration imports the real KIND_COLORS/KIND_LABELS rather than hardcoding them.
“Visible tags are Taggard's suggestions, styled the way you'd tag something yourself — a name, a project, a date — and yours to accept or reject.”
“Try it now — no account needed.”
Every page resolves to a real session or a persistent guest identity and never redirects to /login.
“We can never see your password. It's hashed with bcrypt before it ever touches the database — not even to help you if you forget it.”
“Every read runs through a restricted Postgres role — Postgres itself refuses to return another account's rows, independent of whatever the application code does.”
Proven with direct SQL as the restricted role — no session variable, no WHERE clause — 0 rows.
“Your database connection is TLS-encrypted in transit, and your data is stored on infrastructure that encrypts at rest by default.”
Standard, documented Supabase platform behavior.
“The hidden-tag layer is used internally for retrieval — it's not surfaced to other users or any third party, because there are no other users with access to your data at all.”
“Every note passes through OpenAI's API to generate tags, entities, and connections... Nobody else — no marketer, no ad network, no data broker — ever sees it.”
“Download every note, tag, entity, and connection as JSON or CSV whenever you want — the Export link is in the header on every page.”
“Delete any note, folder, tag, or entity permanently at any time from the app itself — no support ticket required.”
“Phase 2 — on-device embeddings. Phase 3 — fully offline desktop app.”
Both correctly labeled as not-yet-built.
“Share your content with marketers, advertisers, or data brokers.”
Narrowed from an unqualified "third parties," which technically included the disclosed OpenAI dependency above.
“Sell your data. Train AI models on your documents.”
A business commitment, not a mechanism — graded on whether the code contradicts it. It doesn't: zero analytics or ad-tech dependencies exist anywhere in the app.
“Lock you in — export everything, any time.”
Same export fix as above — now genuinely everything.
“No — it's the layer underneath, not a new place to write. Keep using whatever you already capture notes in.”
Tag-only browsing works without engaging any of the AI layer.
“It's isolated at the database level today via Row-Level Security.”
“Taggard never sells your data and never trains models on it.”
“Hidden tags are a second layer Taggard builds automatically... powering cross-reference detection and theme clustering.”
“Visible tags are always there to filter by; the hidden layer runs underneath without changing how you search when you don't need it.”
Confirmed pure Prisma filtering — zero AI or embedding calls on this path.
“Taggard's connections are found automatically — every note is checked against everything else you've written for five kinds of relationship, including contradictions.”
No claim ships without a file to back it up — and every audit pass, including the ones that found something wrong, stays on the record.