Skip to content
Pankaj Negi edited this page Aug 16, 2026 · 2 revisions

FAQ

Windows/macOS says the executable is from an "unknown publisher" / "could not verify it's free of malware". Is it safe?

That warning is expected, and it isn't specific to what's inside this particular file — Windows SmartScreen and macOS Gatekeeper flag any executable that isn't code-signed with a paid certificate (a Windows signing cert runs roughly $70–400/year; an Apple Developer ID is $99/year). This project doesn't have one yet, so every release triggers the warning regardless of content.

If you'd rather not take that on faith, the alternative that sidesteps the warning entirely is uvx factfolio init — see Installing — since it runs from source via uv rather than an unsigned binary. The source itself is MIT-licensed and readable in this repository.

If you do want the standalone executable:

  • macOS (Terminal, most reliable):
    xattr -d com.apple.quarantine ./factfolio-macos-arm64
    chmod +x ./factfolio-macos-arm64
    ./factfolio-macos-arm64 init
    This removes the quarantine flag the browser set on download — the flag Gatekeeper actually checks — so it launches with no dialog at all. Current macOS (Sonoma/Sequoia) shows the stricter "Apple could not verify … is free of malware" wording for a fully unsigned binary like this one, and often skips straight past a right-click→Open bypass entirely, so the Terminal route above is the dependable one. If you'd rather not use Terminal: try running it once (it'll be blocked), then System Settings → Privacy & Security → scroll to the bottom, where a blocked-app notice with an Open Anyway button appears.
  • Windows: click More info, then Run anyway in the SmartScreen dialog.

Does factfolio report or chat send my portfolio anywhere?

No. Your holdings, quantities, and ₹ values never leave your machine — enforced by what the data-provider and agent-SDK clients are actually given, not a policy. See Architecture for exactly what does cross the boundary (ticker symbols to market data providers; your question plus supporting evidence to the claude CLI, and only for report/chat).

Why does an offline, standalone executable still need internet and a login?

The executable bundles Python and every dependency, so there's nothing to pip install — but report and chat still shell out to the separate claude CLI (via claude_agent_sdk), which needs either a claude login session or ANTHROPIC_API_KEY to reach the model, and market-data commands still need a network connection to NSE/BSE/yfinance. No packaging choice removes either requirement. factfolio status, validate, cron, and estimate-dates don't call an LLM at all, and only estimate-dates and status/validate touch the network (for price history / ticker checks).

What exactly does the validator gate check?

It reads that run's actual tool-call log and rejects any claim in the report that cites a number not present in it — a code-level check, not another model asked to grade its own homework. See Architecture.

Is this investment advice?

No. It's evidence — analyst consensus, moving-average trend, screener ratios, correlation — checked against a policy you write and approve yourself. No tool in this system outputs a price target or a prediction. What you do with what it shows you is still your call.