KALVEN

Kalven Privacy Policy

Effective Date: May 22, 2026
Last Updated: October 20, 2026

Kalven is a Chrome extension for commercial real estate (CRE) brokers. It assists with property prospecting, prioritization, and workbook generation. This policy describes what data Kalven collects, how it is stored, and where it is sent.

What Kalven Does

Kalven runs inside your existing authenticated CoStar and TitlePro247 browser sessions. It reads property data from web pages you are already logged into, sends that data through Kalven's analysis service to Anthropic's Claude API for structured analysis, and generates a downloadable Excel workbook with property prioritization and outreach recommendations. Kalven provides the analysis under its own Anthropic account; you do not need an Anthropic API key.

Kalven is a CRE prospecting and prioritization tool. It does not provide lending recommendations, credit decisions, property appraisals, or investment advice.

Data Stored Locally

Kalven stores the following data in your browser using Chrome's built-in extension storage:

Property data, contact data, and financial data extracted from CoStar and TitlePro247 pages are held only in browser memory during your active session. They are never written to persistent storage (including the Recent Runs database), never synced, and never cached between sessions.

Data Sent Externally

Kalven sends data to the following services, each for a distinct and limited purpose:

Kalven does not send data to any advertising network, analytics service, or data broker, and does not collect crash reports. Beyond the analysis requests described next, the one exception is the per-workbook usage summary described in "Operational Usage Reporting."

Analysis Requests

To analyze a property, the extension sends the extracted page content and Kalven's analysis instructions (which include the name, firm, and specialty from your broker profile) to Kalven's analysis service, together with a random request identifier and the opaque Kalven account identifier. Kalven's server checks that you are signed in and subscribed and that your account is within its daily usage limits, attaches Kalven's Anthropic credential, forwards the request to Anthropic, and returns Anthropic's response to the extension.

The content of these requests and responses exists on Kalven's server only in memory while the request is in progress. Kalven never stores, logs, caches, queues, or traces it, never uses it for any other purpose, and never sends it anywhere except to Anthropic. Kalven does not use it to train any model.

For each analysis request, Kalven keeps an accounting record so it can apply usage limits and pay for the service: the request identifier, the opaque account identifier, the type of analysis step, the model used, an outcome status, the date in your pinned timezone, the estimated and actual cost, token counts, and timestamps. These records contain no property, contact, loan, filter, or profile content, and are deleted after 90 days.

Each Kalven account has daily usage limits (a spending limit, a request limit, and a limit on simultaneous requests). When a limit is reached, further analysis is refused until the next day in your pinned timezone; properties already completed in that run are still delivered.

Operational Usage Reporting

After a workbook download completes, Kalven sends its backend an operational usage summary containing a random event identifier, the opaque Kalven account identifier, the number of properties processed in that batch, and whether the batch was an initial run or a continuation. The backend records when it receives the summary. Kalven uses these summaries for account usage reporting, service administration, and plan-limit administration. These summaries never contain property identifiers or addresses, owner, contact, loan, or other platform-derived data, filter selections, workbook contents, or analysis prompts or responses. Raw event summaries are retained for 90 days. Kalven also derives per-broker daily aggregates (retained for 13 months) and anonymized cross-broker monthly totals (retained indefinitely as service growth metrics). Anonymized monthly totals contain no per-broker identifier. Months with fewer than five active brokers are excluded from the anonymized monthly table. Authorized internal dashboards are provided through Retool using limited read-only access. Delivery is default-on once you accept the current Terms of Service; delivery is best-effort and the extension will not block your workbook download or Recent Runs update if a summary fails to send.

Account and Subscription Data

The Kalven backend handles only account, billing, entitlement, and operational metadata: sign-in email, Stripe customer/subscription/invoice identifiers and lifecycle state, renewal or billing dates, signed-token issuance/expiry metadata, the per-workbook usage summary described above (event identifier, opaque account identifier, processed-property count, run kind), and ordinary request/webhook logs such as timestamps, IP addresses, user agents, webhook event IDs, and error traces. Apart from relaying analysis requests in memory as described in "Analysis Requests," it never receives, stores, logs, or transmits broker deal data, property identifiers or addresses, owner/contact data, loan data, platform-derived records, filter selections, analysis prompts/responses, generated reports, or Excel files.

The extension fetches an entitlement token when the popup opens or reopens, and again when you press Refresh; at those times it also tops the token up if less than two hours remain on it. It does not refresh the token in the background while the popup sits open. Before a run starts, Kalven also sends a short request to its backend to verify your daily run allowance under your plan's run limit; this request transmits a random event identifier, the opaque Kalven account identifier, and your IANA timezone string (for example, "America/Chicago"). The backend records the request time, the number of runs you have completed today under your pinned timezone, and (on your first use) stores that pinned timezone so your daily reset time stays stable across sessions. The allowance request never transmits property, owner, contact, loan, or filter data, analysis prompts or responses, or workbook contents. The token's expiry is also re-checked locally with no network request, and the cached token is used until it expires; after that a run is blocked until you reopen the popup or press Refresh. When a token is fetched or refreshed, the backend learns that an entitlement check happened at that time. It does not learn what property, platform, count, prompt, response, or report was involved. The workbook-completion usage summary is a separate, narrow signal described in "Operational Usage Reporting" above and does not include any of that content.

So you can see your remaining daily downloads at a glance, the extension also issues a read-only status request to the backend whenever the sidebar's identity changes (sign-in, sign-out, account switch, delivery completion). This request transmits the opaque Kalven account identifier and your IANA timezone string, and the backend responds with the current count of downloads you have completed today under your pinned timezone, the daily cap, and the next reset time. The status request is read-only; it never writes to the daily-allowance records or the pinned-timezone store, is never cached by shared infrastructure (Cache-Control: private, no-store), and never transmits property, owner, contact, loan, or filter data, analysis prompts or responses, or workbook contents. The status response is display-only; the separate allowance request described above remains the sole authority that permits or blocks a run.

Daily-allowance records (random event identifier, opaque account identifier, download date in your pinned timezone, received-at timestamp) are retained for 90 days and then purged. Your pinned IANA timezone is retained for the lifetime of your Kalven account and deleted when the account is deleted.

Sub-processors: Anthropic (AI analysis of the requests Kalven relays, under Kalven's account), Vercel (hosting of the Kalven backend and analysis service, and database for account/billing/entitlement/usage-summary/analysis-accounting metadata), Stripe (billing), Resend (sign-in email delivery), and Retool (authorized internal dashboards over account, subscription, and usage-summary query results via a limited read-only database role).

Data Generated Locally

Excel workbooks (.xlsx) are generated entirely within your browser using the ExcelJS library and saved to your Downloads folder via the Chrome downloads API. No workbook data leaves your browser.

Permissions

Kalven requests the following Chrome permissions:

Permission Purpose
tabs Navigate and read CoStar and TitlePro247 tabs during analysis
storage Store your broker profile, report settings, and UI preferences locally
scripting Execute extraction scripts on CoStar and TitlePro247 pages
sidePanel Display the Kalven interface as a Chrome side panel
downloads Save generated Excel workbooks to your Downloads folder
alarms Keep the background service worker active during long batch analysis runs
tabGroups Group platform tabs under a "Kalven" label for organization
webNavigation Recognize the TitlePro247 report tab that opens during a run so the report link is attached to the right property

Kalven also requests host permissions for product.costar.com, www.titlepro247.com, app.reonomy.com, and api.kalven.ai to operate within your authenticated sessions, send analysis requests, and check your subscription status.

Your Responsibilities

Email templates and outreach

Kalven includes an optional "Email Your Prospects" flow that opens draft messages in your own Microsoft Outlook mail service after a session completes.

Data Retention

Kalven retains no property, contact, or financial data after your browser session ends, and its analysis service retains none at all. Analysis accounting records are deleted after 90 days. Your broker profile and report settings persist in local storage until you uninstall the extension. Email templates (broker-authored copy only) persist locally until you delete them or uninstall the extension. UI preferences are cleared automatically when you close your browser.

Changes to This Policy

If this policy changes, the updated version will be posted at this URL with a revised "Last Updated" date.

Contact

For questions about this privacy policy, contact: joe@kalven.ai