Support · v2.0

How can we help?

Getting started, common questions, and direct contact. AI generation is included on TripFlash Cloud — no API key, no payment. 10 trips/day · 25/week · 50/month, free.

🍎 Download for iOS → 📧 Email support
Contact

Got a question? Reach out.

We typically respond within 1–2 business days. Submit a Report a Problem from the app for the fastest reply on bugs.

📬

Support email

For questions, feedback, and bug reports.
support@navakriya.app

📝

Report a problem (in-app)

Settings → Help → Report a Problem. Captures your message + app/OS version + device id when you tap Send. No automatic telemetry.

Getting started

Three steps to your first itinerary.

As of v2.0, AI generation is included with the app via the managed TripFlash Cloud backend — the only path. No API key, no payment, no provider account. Just verify your email and plan.

1

Enter your email

A 6-digit code is sent to your inbox. The code is CSPRNG-generated server-side and only the hash is stored — codes expire in 10 minutes and are single-use.

Cryptographic code
2

Verify with the code

Enter the 6 digits. You're signed in. Next time you launch the app, just enter the same email — we'll send a fresh code and skip straight to your trips.

Passwordless
3

Plan your trip

Tap New Trip, enter your city, dates, and any points of interest, then tap Generate Itinerary. A data-sharing notice appears every time — review and tap Allow & Generate.

Consent-gated

⚖️ Free TripFlash Cloud

10 trips/day · 25/week · 50/month, no API key, no payment. Generate, full regenerate, or rejuggle a single day each cost one credit. Reordering days locally and manual edits are always free. If the AI fails or you can't use the result, the credit is automatically refunded.

Frequently asked

Questions, answered.

No. Try 3 trips free as a guest — no account, no email needed. After that, sign in with email to unlock the regular free tier: 10 trips/day · 25/week · 50/month. No API key, no payment, no provider account. Only a fresh full-trip generate costs one credit — regenerate and rejuggle are always free.
Only what's needed to keep your account working: your email address (Signed-in mode only), a per-device id (UUID — on iOS seeded from identifierForVendor and cached in the Keychain; on Android, Settings.Secure.ANDROID_ID), and per-call usage logs (tokens, cost, timestamp — retained for 3 years for cost analytics). Sign-in codes are stored only as hashes with a 10-minute TTL. The AI request body itself isn't persisted — only token/cost metrics. The trip inputs you typed are saved as part of your trip: on your device always, and on TripFlash Cloud for signed-in users (auto-cloud-backup).
For Signed-in users, every trip auto-uploads to TripFlash Cloud right after generation and after every edit — you don't need to do anything. The Sync icon in the library is for the reverse direction: pulling cloud-only trips down to this device, resolving conflicts, and forcing an immediate retry if an auto-push failed. Synced trips are retained for 3 years from last edit. Server-side version history kept for 30 days (or last 10 versions). Guest-mode users have no cloud copy — uninstall = trips lost.
They upload to your new account automatically — you'll see a toast like "Claimed 3 guest trips" the first time you open the library after sign-in. The 3 guest generations count against that month's quota of 50, so you'd have 47 trips remaining for the rest of the month. The same physical device can't reset the 3-trip free quota by reinstalling — the device id is kept in the Keychain (iOS) / Keystore-protected store (Android).
If you edit the same trip on two devices and they each auto-push, the next manual Sync surfaces a side-by-side sheet showing "this trip changed in 2 places" with both versions. You pick one whole side to keep. v2.0 conflicts resolve at the trip level; per-day or per-spot conflicts are a future refinement.
AWS us-east-1 (Northern Virginia, United States). DynamoDB for metadata, AWS Secrets Manager for the AI provider key (never leaves the server). All traffic is HTTPS with JWT auth.
If Gemini returns a 5xx error, hits MAX_TOKENS (response truncated), times out, or returns something the client can't decode, the credit is automatically refunded. Two paths: if the AI provider errors out server-side, the counter rolls back before the response leaves our backend; if the response was returned but the app can't decode it, the app silently requests a refund with an ownership-gated request_id. A single generation can only be refunded once.
Before every generation (new plan, re-generate, or edit), TripFlash shows a data-sharing notice listing exactly what will be sent: your destination city, travel dates, base camp (if entered), and points of interest. Nothing is sent until you tap Allow & Generate. The request goes to TripFlash Cloud which then forwards it to the AI provider; the response comes back the same way.
Google Gemini 2.5 Flash, called from our backend. Configurable server-side per app so we can rotate models without an app update. Per-call cost is logged so the per-user fair-usage limits stay accurate.
Yes — on iOS today, and on Android when it ships. We resolve the destination city to its IANA time zone via on-device geocoding (no permission needed) and generate all activity times in that zone. Live Trip mode shows the destination wall clock so a user in NYC running a Tokyo trip sees Tokyo time. Departure reminders fire at the correct local time.
Yes — both rights are first-class buttons in Settings → Account. Export My Data downloads a JSON of everything TripFlash Cloud holds about your account (GDPR Article 15). Delete My Account permanently erases your record, devices, usage logs, and refund flags (GDPR Article 17). A 30-day cooldown prevents any email from registering this device, to defeat the delete-and-resignup loophole.
Open Settings → Help → Report a Problem. Describe what happened and tap Send. The report (plus your platform/OS version/app version/device id) lands in our backend with a 90-day TTL. You can submit reports even when signed out (or in guest mode), so problems with sign-in itself can still reach us.
Use Settings → Data → Clear All Trips for trips, or Sign Out if you just want to detach this device from your account. Delete My Account wipes both local and server-side data in one go.
Privacy snapshot

The short version of how we treat your data.

For the full legal text, see the Privacy Policy.

✅ What we do
📱
Trips live on your device. SwiftData (iOS) / SharedPreferences JSON (Android). For Signed-in users, auto-mirror to TripFlash Cloud after every edit (3-year TTL, 30-day version history). Guest-mode users keep everything local.
🔒
Sign-in codes are stored hashed. SHA-256 with a per-code salt, 10-minute expiry, single-use, 5-attempt cap, 60s resend throttle.
⚖️
Every AI request is consent-gated. A data-sharing notice listing exactly what will be sent appears every time — you can cancel at any point.
🛡️
Right of access & erasure are first-class actions in Settings → Account (GDPR Art. 15 / Art. 17).
🚫 What we don't do
📊
No analytics SDKs. No Firebase, no Crashlytics, no Mixpanel — our own user-initiated Report a Problem form is the only thing that sends operator-readable data, and only when you tap Send.
🧠
We don't store your prompts. The text you submit to the AI is forwarded in real time, the response comes back, and only the token/cost metrics are kept (3-year retention for cost analytics).
🚫
No ad IDs. Zero behavioral tracking. The device id we keep is for rate-limiting only and is not an advertising identifier.
📝
Free-text notes never reach analytics. Synced or not, the nicknames and notes you write are never used in the anonymized analytics store.

Still stuck? We're here.

Email us at support@navakriya.app — we reply within 1–2 business days. Or report a bug from inside the app for the fastest path.