Powerhour Docs
FAQ
Frequently asked questions for self-hosted operators. All route references refer to paths in your own deployment.
Setup and onboarding
What is the fastest setup validation path?
Authenticate, link one institution in /settings, run sync, and confirm data appears on /, /accounts, and /transactions. This validates auth, token exchange, sync, and UI rendering.
Can I run without Plaid credentials?
Yes. Demo mode seeds sample data and blocks Plaid link/exchange/sync operations so the instance remains explorable without external credentials.
Do I need all modules enabled on day one?
No. Typical rollout: dashboard and transactions first, recurring/subscriptions second, then budgets and planner once baseline data quality is stable.
Security and data handling
Where is data stored?
Data is stored in your own PostgreSQL deployment. Access tokens are encrypted at rest before persistence.
How are agents prevented from seeing sensitive fields?
Agent queries are constrained through database views that exclude sensitive token/cursor columns.
Are webhook payloads verified?
Yes. Webhook handlers perform signature and payload-integrity verification before processing updates.
Is there an audit trail?
Yes. Critical actions such as login, password changes, institution link/delete, and report downloads are recorded.
Feature behavior
What is the difference between Ticker and Planner?
Ticker handles short diagnostic analysis in context. Planner supports longer mode-based flows (travel, savings targets, spend reduction).
Are reports written to server disk?
No. Reports are generated in-memory and returned directly in the response stream.
How often is data refreshed?
Manual sync is available in /settings. Scheduled sync/digest jobs can also be enabled.
Troubleshooting
Why does an institution show relink_required?
Upstream provider state requires re-auth. Use relink in /settings to refresh credentials while preserving local records.
Why are recurring items missing?
Recurring detection needs sufficient history and merchant consistency. Sync additional data and re-check /projections and /subscriptions.
Why are some charts empty?
Chart modules depend on snapshot/history availability. Confirm sync and inspect route-specific date coverage.