Security questions.
Who can see what when you use DawonAI, in plain words. How DawonAI protects you has the technical detail.
Who can see what.
The DawonAI service runs on two servers: the relay, which holds accounts and saved chats, and the model server, which answers requests. Each one sees part of what you do.
The relay
Holds your account, your devices and Stripe’s subscription ID. Stores saved chats only encrypted, under an ID with no link to your account.
Sees your IP address. Passes your requests to the model server still encrypted. Writes down no IP addresses and keeps no request logs.
The model server
Reads each request in order to answer it, and writes no prompts or answers to disk.
Sees that a request carries a valid day pass for a plan. The day pass doesn’t say which account paid.
DawonAI
DawonAI runs the relay and the model server, so the two cards above describe what DawonAI sees.
The model server also serves the web app’s code. A changed release could steal your keys. Verify the app checks each release.
Stripe
Takes your card and email when you pay, so Stripe knows who paid. DawonAI stores Stripe’s subscription ID, not your email.
Stripe doesn’t see your requests or your chats.
Your network
Your internet provider, or anyone on your Wi-Fi, can see that you connect to DawonAI, and when.
Your connections to DawonAI are encrypted, so your network doesn’t see what you ask.
Someone with your device
A browser logged in to the DawonAI web app can read your saved chats and manage your account, including making a new account key.
A computer running pai can use your plan until you remove it. pai holds no chats and no account key.
Cloudflare serves DawonAI’s landing pages, including this one, and carries the free demo. Cloudflare isn’t in the path of the web app, pai or your account. The protections on this page don’t cover the free demo.
What DawonAI protects, and what it doesn’t.
What DawonAI protects
- Saved chats. The DawonAI web app encrypts them on your device before they’re uploaded. The relay stores only the encrypted copies.
- Your payment, from your requests. Each request carries a blind-signed day pass. The model server can tell the request is paid for, and the day pass doesn’t say by whom.
- Your email and phone number. DawonAI asks for neither. Your login is a 24-character account key that your browser makes.
- Records on disk. DawonAI’s software writes no prompts, answers or IP addresses to disk.
- Your account key, from coding harnesses. A coding harness talks to pai on your computer, and never sees your account key or your day pass.
What DawonAI doesn’t protect
- What you write. The model server reads every request to answer it. Anything identifying in a prompt identifies you.
- Your IP address, from the relay. The relay writes it down nowhere. Someone watching the relay live could link your account to your requests by IP address and timing. Use Tor or a VPN.
- One day’s requests. Requests from one day share a day pass, so the model server can tell they came from the same device.
- Patterns, while there are few users. Your plan, your coding harness, your working hours and the size of your requests can single you out.
- Saved chats over time. Saved chats sync under one ID that never changes. Someone watching the relay can tie your web app sessions together across days through that ID, without reading the chats.
- Your payment, from Stripe. Paying by card identifies you to Stripe and links your DawonAI account to you.
Built to be checked.
Published code, release hashes and a server check in pai.
- pai checks our server. pai, the DawonAI program for coding harnesses, checks the model server’s key on every connection and refuses any other server.
- One-way login. Only a one-way version of your key leaves your device, and we store a hash of that.
- Open source. At launch we publish the web app’s code and a hash of every release.
Questions.
Your chats
Can DawonAI read my saved chats?
No. The DawonAI web app encrypts saved chats on your device, with a key that only your account key unlocks, before uploading them. The relay stores only the encrypted copies.
DawonAI does serve the web app’s code, so a changed release could steal your key. How to check a release is below.
Can DawonAI read what I ask while it’s answered?
Yes. The model server reads each request in memory in order to answer it. DawonAI’s software on the model server writes no prompts or answers to disk. Someone controlling the model server while it runs could read requests and answers.
Do you log anything?
DawonAI keeps these on disk:
- On the relay, your account: your plan, its status and paid-until date, a hash of a key derived from your account key, Stripe’s subscription ID, and your devices with the days they were added and last used.
- On the relay, your saved chats, encrypted, under a vault ID with no account ID attached.
- On the relay, an encrypted backup of its database, made every day.
- On the model server, hourly error summaries with no request content, IP addresses, day passes or accounts, and with times rounded to the hour.
Neither server writes down IP addresses, prompts or answers. Two hardening steps on the model server aren’t done yet: turning swap off and encrypting its disk.
How do I delete everything?
Delete everything in the DawonAI web app deletes your saved chats and your account, as two separate requests, then wipes that browser.
You can also choose to have the account deleted after 30, 90 or 365 days without use. Saved chats that nobody opens for 365 days are deleted.
Linking requests to you
Can my requests be linked to me?
Not through the day pass. The relay signs each day pass blind, so the relay can’t recognize it later, and the model server sees only that it’s valid. Requests can still be linked to you by:
- your IP address and the timing of your connections, which the relay sees
- what you write in a request
- the day pass itself, which ties one day’s requests from one device together
- patterns that stand out while there are few users: your plan, your coding harness, your working hours and the size of your requests
- in the web app, the vault ID your saved chats sync under
Your device collects tomorrow’s day pass at a random time today, so the relay can’t line up when a day pass was collected with when it’s used. On a device’s first day, or a day after it was off at that random time, the device collects the day pass when you first use it.
Does Tor or a VPN help?
Yes, against the relay seeing your IP address. The relay sees the address of every connection: your account, your saved chats and your requests. Tor or a VPN keeps your own address from the relay.
Tor and VPNs don’t hide the other patterns above. Over Tor, the web app’s saved-chat sync still ties your sessions together across days.
What does Stripe know?
Stripe takes your card and email when you pay, so Stripe knows who you are and that you paid DawonAI. The relay stores Stripe’s subscription ID with your account, so Stripe’s records and DawonAI’s together tie your account to you.
Paying by card links your account to you. It doesn’t link your account to your requests. Stripe never sees your requests or your chats.
Your account and devices
What if I lose my account key?
If a browser is still logged in, open Account > Make a new key there. That browser can replace the account key without knowing the old one.
If no browser is logged in, DawonAI can’t recover the account, because DawonAI doesn’t know who you are. Linked pai computers keep working until they’re removed or expire, and a new account needs a new plan.
How do I stop paying without my account key?
Cancel the plan from Stripe’s payment receipt email, so it doesn’t renew. Within 7 days of paying, email support with the order number from that receipt to get a refund. The refund policy has the details.
What if I lose a device?
From another logged-in browser, remove the device in Devices, then make a new account key.
- Removing the device stops it collecting day passes. The day pass it already holds works until midnight UTC.
- A browser holds what it needs to download and decrypt your saved chats, so removing it isn’t enough. A new account key moves your saved chats to a new address the lost browser doesn’t know, and deletes the old one.
- A computer running pai holds no saved chats, so removing it is enough.
Do I need to install the web app on iPhone?
Yes, if you use Safari. Safari wipes the storage of sites that aren’t installed after 7 days without use, including the DawonAI web app’s keys. Add the DawonAI web app to your home screen.
pai and the web app
Should I use the web app or pai?
Both reach the same model server. pai, the program for coding harnesses, does two things a browser can’t:
- pai checks the model server’s key on every connection, against keys built into each pai release, and sends nothing to a server with any other key. That stops someone who obtains a certificate for DawonAI’s API name, such as someone controlling the relay, from reading what your coding harness sends.
- Your coding harness talks to pai on your own computer, with a key that only works there. The coding harness never sees your account key or your day pass.
Browsers can’t check a server’s key this way. The DawonAI web app relies on rules about who can get a certificate for its name, described on the technical page. Saved chats are in the web app only. pai holds none.
Orders and checks
What if DawonAI is ordered to hand over data?
DawonAI can hand over only what exists on its servers:
- account records on the relay, listed under “Do you log anything?” above
- saved chats, stored under vault IDs with no account ID, and encrypted with keys that stay on your devices
- the model server’s hourly error summaries
DawonAI’s software writes no prompts, answers or IP addresses to disk, so there are none on disk to hand over. Stripe holds your card details and email separately.
This describes what’s stored. It isn’t a promise about how any order would be handled.
How do I check the web app hasn’t been changed?
DawonAI publishes a SHA-256 hash of every file in each web app release, from a different server than the app. Verify the app shows how to download the files the app server sends and compare them with that list.
A match shows what the server sent at the moment you checked. The web app loads no third-party scripts, so those files are everything the web app runs.
What’s next
What is DawonAI working on?
Planned:
- Keys for each device and each chat, so that removing a device is enough to cut it off from saved chats. Your account key would then only add a device or recover the account.
- On the model server: turning swap off, keeping system logs in memory only, full-disk encryption unlocked by hand after each boot, and AppArmor confinement for its containers.
Considered for after the first version:
- paying in Bitcoin through a self-hosted BTCPay Server
- approving new devices
- device keys stored in hardware
- newer credentials, now an IETF draft, that limit streams without a daily key
Each part of DawonAI, in detail.
What every server holds, sees and stores, and what an attacker controlling it could learn.
How DawonAI protects you