Privacy Policy — Amon Hen Terminal
Last Updated: June 2, 2026
Website: amonhenterminal.com
1. Introduction
Amon Hen Terminal ("we," "us," or "our") operates a web-based financial terminal application at amonhenterminal.com(the "Service"). This Privacy Policy explains what personal information we collect, how we use it, who we share it with, how long we retain it, and your rights regarding your data.
By creating an account or using the Service, you agree to the collection and use of information as described in this policy.
2. Information We Collect
2.1 Information You Provide
| Data | When Collected | Purpose |
|---|---|---|
| First and last name | Account registration | Personalized greeting in emails and the access gate |
| Email address | Account registration | Authentication, email verification, access code delivery |
| Username | Account registration | Display name within the application |
| Use case | Access request | Understanding how users plan to use the terminal (e.g., student, investor, professional) |
| Password | Account registration | Authentication (stored as a cryptographic hash — never in plaintext) |
| Profile avatar | Optional upload | Profile personalization (compressed to 256×256 JPEG) |
| Chat messages | When using the ASK feature | Sent to Google Gemini for AI-generated responses |
| Direct messages | When messaging other users | Stored for message delivery and conversation history |
2.2 Information Generated by Your Use
| Data | Description | Retention |
|---|---|---|
| API request logs | Which data endpoints you access and when | Deleted after 1 hour |
| Telemetry metrics | Which stock tickers you query, your user ID, and response times (for diagnostics and rate-limiting) | Deleted after 7 days |
| Data pipeline requests | When you trigger a data refresh, we log the ticker and your user ID to attribute the request | Overwritten on next request for same ticker |
| Ticker activity | Aggregated counts of tickers queried (no user identification) | Indefinite (anonymized) |
| Contact relationships | Your friend/contact list and pending requests | Until removed or account deletion |
| Read receipts | Which direct messages you have viewed | Until account deletion |
| Muted users | Users you have chosen to mute | Until unmuted or account deletion |
2.3 Information We Do NOT Collect
- Phone numbers
- Physical addresses
- Payment card numbers, bank account details, or financial account credentials (payment processing is handled entirely by Stripe; see Section 4.1)
- Demographic data (age, gender, ethnicity)
- Device fingerprints or advertising identifiers
- Location data
- We do not use any analytics or tracking SDKs
3. How We Use Your Information
We use the information we collect to:
- Provide the Service — authenticate your account, deliver financial data panels, and enable messaging features
- Deliver transactional emails — send your access code upon admin approval and email verification links
- Power the AI assistant — your chat messages and active financial context are sent to Google Gemini to generate responses
- Maintain system health — short-lived request logs and telemetry help us diagnose errors and manage rate limits
- Optimize data freshness — anonymized ticker activity determines which market data caches to refresh first
We do not use your information for advertising, marketing profiling, or sale to third parties.
4. Third-Party Services
4.1 Services That Receive Personal Data
| Service | Data Shared | Purpose |
|---|---|---|
| Supabase | Email, password hash, session tokens, IP address | Authentication, database hosting, file storage |
| Resend | Email address, name, access code | Transactional email delivery |
| Google Gemini 2.0 | Chat messages, active ticker, panel name, financial data snapshot (≤8 KB) | AI-powered assistant responses |
| Vercel | IP address (infrastructure-level) | Application hosting and CDN |
| Stripe | Email address, Supabase user ID | Payment processing for Premium subscriptions. Stripe receives your payment card details directly during checkout — we never see or store your card number. See Stripe's Privacy Policy. |
4.2 Services That Receive Only Market Data Queries (No Personal Data)
These services receive stock ticker symbols or economic data identifiers only — never your personal information:
- Twelve Data — Stock quotes, profiles, statistics, earnings, price history
- FINRA — Short interest settlement data
- SEC EDGAR — Financial filings, insider transactions, institutional holdings
- FRED — Economic data series
- Modal.com — Data pipeline orchestration
5. Cookies
We use essential authentication cookies only. We do not use advertising, analytics, or tracking cookies.
| Cookie | Purpose | Type |
|---|---|---|
| sb-* (Supabase session) | Stores your encrypted authentication session | HttpOnly, Secure — essential |
We do not use localStorage, sessionStorage, or any client-side persistent storage beyond authentication cookies.
6. Data Retention
| Data Category | Retention Period |
|---|---|
| User profile (name, email, username, use case, avatar) | Until account deletion |
| Authentication data | Until account deletion |
| Direct messages | Indefinite (soft-deleted messages are preserved) |
| Contact/friend relationships | Until removed by user or account deletion |
| Avatar images | Until replaced by user or account deletion |
| API rate limit logs | 1 hour (auto-purged every 10 min) |
| Telemetry/pipeline metrics | 7 days (auto-purged every 6 hours) |
| Data pipeline requests | Overwritten on next request for same ticker (only last requester stored) |
7. Account Deletion
You may delete your account at any time from within the application (Account panel → Delete Account). When you delete your account:
- Your profile avatar is permanently deleted from storage
- Your authentication record is permanently deleted (email, password hash, session data)
- Your profile row is permanently deleted (name, username, email, use case, access status)
- Rate limit logs and telemetry metrics are automatically purged within hours to days
- Data pipeline requests attributed to you are disassociated from your account
Messages you sent to other users are not deleted when you delete your account. Direct messages and global chat messages you authored will remain visible to other participants, though they will no longer be linked to an active profile.
8. Data Security
We employ the following security measures:
- Password hashing — Passwords are never stored in plaintext; they are cryptographically hashed
- Column-level access controls — Sensitive fields are protected by database-level column grants
- Row-Level Security (RLS) — Database policies ensure users can only access their own profile data
- HttpOnly, Secure cookies — Authentication tokens are not accessible to client-side JavaScript
- Brute-force protection — Access code entry is rate-limited (5 attempts max, then 15-minute lockout). Attempt counts and lockout timestamps are stored on your profile and reset automatically
- Service-role separation — Administrative operations use a separate service role key
- No plaintext secrets in client code — API keys and secrets are stored as server-side environment variables
9. Children's Privacy
The Service is not directed at individuals under the age of 18. We do not knowingly collect personal information from children. If we become aware that a user under 18 has provided personal information, we will promptly delete their account and associated data.
10. Changes to This Policy
We may update this Privacy Policy from time to time. If we make material changes, we will notify users through the Service or via email. The "Last Updated" date at the top of this policy indicates when the most recent revision was made.
This privacy policy was prepared based on an audit of the application's database schema, third-party integrations, and data flows as of May 29, 2026, and last audited on June 2, 2026.