Skip to content

Remove user auth - #377

Closed
xiaohunsdt wants to merge 2 commits into
Fincept-Corporation:mainfrom
xiaohunsdt:remove-user-auth
Closed

Remove user auth#377
xiaohunsdt wants to merge 2 commits into
Fincept-Corporation:mainfrom
xiaohunsdt:remove-user-auth

Conversation

@xiaohunsdt

Copy link
Copy Markdown

No description provided.

xiaohunsdt and others added 2 commits August 27, 2026 14:58
The terminal was gated behind an account: login screen -> PIN lock ->
paywall (has_paid_plan) -> dashboard. Remove that entirely so the app
boots straight into the shell as a local tool.

Removed:
  - src/auth/ (AuthManager, AuthApi, UserApi, GoogleDesktopLogin,
    SessionGuard, PinManager, InactivityGuard, SecurityAuditLog,
    LockOverlayController) and src/screens/auth/
  - The auth/lock/chat QStackedWidget routing in WindowFrame; the dock
    wrapper is now the central widget directly. WindowFrame_Auth.cpp
    and the dead NavigationBar are gone.
  - Lock gating across DockScreenRouter, builtin_actions, KeyActions
    (LockNow, ToggleChat) and the toolbar's LOGOUT / plan / credits /
    CHAT controls.
  - Account-only features whose sole backend is api.fincept.in:
    Profile, Support, Forum, Chat Mode, QuantLib, Cloud Sync (including
    the SyncOutbox hooks in 12 repositories), and the "fincept" LLM
    provider.

Kept, deliberately:
  - Broker/exchange credentials (src/trading/auth/, CredentialsSection,
    SecureStorage) - a separate concern.
  - Maritime, Geopolitics, macro calendar, news feed and the /health
    indicator. These call api.fincept.in through HttpClient, which used
    to attach the signed-in user's X-API-Key; they now call anonymously
    and the server may answer 401 (the macro calendar already does).
    That is the accepted cost of dropping login, not a defect.
  - MCP AuthLevel, narrowed to {None, ExplicitConfirm}. ExplicitConfirm
    is a destructive-action gate gating 27 tools (live_place_order,
    add_mcp_server, call_external_mcp_tool), unrelated to login -
    deleting the enum would have silently un-gated them.
  - Settings > Security, gutted to the AI-tool-permissions grant it
    uniquely owns (mcp/allow_destructive_tools).

Other changes:
  - EquityValuationTab computes DCF, Altman-Z, Piotroski-F and
    Beneish-M locally instead of calling /quantlib. Verified against an
    independent calculation on live AAPL data: $625.17 intrinsic value,
    +99.4% margin of safety, to the cent.
  - Post-boot warm-up (WorkspaceShell, UpdateService, InstrumentService)
    moved from the auth callbacks into main.cpp, where it runs once.
  - New migration v052 clears the auth/PIN/cloud-sync rows and tables
    and the seeded fincept LLM provider. Credential keys are named
    exactly, never by prefix, so broker rows survive.
  - Fixed a latent bug the above would have caused: the legacy-DB probe
    used the fincept_session row as its "new DB populated" sentinel,
    which v052 deletes; it now asks the settings table directly.
  - ConstantTime.h / LoopbackGuard.h moved to src/core/security/ under
    fincept::security, so no src/auth/ remains to imply otherwise.
  - Dropped 20 dead translation contexts from the .ts files.

Verified: builds clean; --smoke-test constructs all 48 screens; MCP,
dock-layout, live-table, paper, portfolio-replication and arena
self-tests pass; fresh profile boots to the dashboard with no
login/PIN/paywall; watchlist add/delete survives a restart.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Hi @xiaohunsdt — thanks for the PR!

Our automated scope gate flagged the following:

No scope-approved linked issue. This PR must close an issue that carries one of: good-first-issue, help-wanted, scope:approved. Link it in the PR body with Closes #NNN or via GitHub's "Linked issues" sidebar.

Please read CONTRIBUTING.md. Once an issue with the appropriate label exists and is linked here, re-run this check by pushing an empty commit or editing the PR description. A maintainer can also bypass this gate by adding the scope:approved label to this PR.

PRs that remain unresolved for 7 days will be closed automatically.

@github-actions github-actions Bot added the needs-scope-approval Auto-applied by pr-gate.yml to PRs that fail the scope gate. label Aug 27, 2026
@xiaohunsdt xiaohunsdt closed this Aug 27, 2026
@xiaohunsdt
xiaohunsdt deleted the remove-user-auth branch August 27, 2026 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-scope-approval Auto-applied by pr-gate.yml to PRs that fail the scope gate.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant