Transparency
What we do with your data, what we charge for, how we behave when something breaks, and what we have not built yet.
We do not store what you calculate
The single most important thing on this page. A birth date, time and place sent to an endpoint is used to compute the response and is not written to a database afterwards. We keep the endpoint, the timestamp, the status and the credits consumed — enough to build your usage page and answer a billing question, and nothing about the person the chart was for.
Our PDF report endpoints return the document in the response body and store no copy. We deliberately do not put reports in a bucket and hand back a URL: that leaves a stranger's name, birth time and predictions readable at a public address for as long as the object exists.
We do not train on your data
Nothing you send is used to train a model, sold, or shared with an advertiser. Our calculation endpoints do not call an AI service at all — they are arithmetic against ephemeris data on our own servers. The exceptions are the optional AI features. An AI assistant feature sends the text of your message to a model provider; the astrology chat endpoint, /api/astro/chat/, also sends the birth details in the request — name, gender, birth date, time and place, latitude and longitude, for each person asked about — along with any earlier turns you pass back. The providers are listed on subprocessors.
You are billed for answers, not attempts
One credit per successful call (25 for the PDF reports and AI chat). A 4xx, a 5xx or a timeout costs nothing — the credit is reserved before the calculation runs and released if it does not return cleanly. We never charge for our own failures.
Every response reports what it cost in X-Credits-Charged, so you can reconcile our billing against your own logs without trusting our arithmetic. Access is by monthly or yearly plan, with a quota that resets each month; there is no per-seat fee.
Prices are published, not quoted
Every plan and its price is on the pricing page. There is no tier that hides an endpoint behind it and no “contact sales” wall to raise a limit. You can see what you would pay before you create an account.
Your keys, and what we can see
API keys are stored only as SHA-256 hashes. Neither an administrator nor a database dump can recover one, which is why we cannot re-send a key you lost — an inconvenience we accept in exchange for the property. The public prefix is indexed so a key leaked in a repository can be found and revoked without anyone knowing the secret half.
When we break something
- If an outage causes failed calls, those calls were not charged in the first place — that is automatic, not a goodwill gesture.
- If a defect caused wrong charges, we correct the ledger and say so, rather than waiting to be asked.
- If a calculation is wrong, we fix it and note it in the changelog. A silent correction to an astrological result is worse than a noisy one — you may have shipped the old answer to your users.
What we have not built
Stated here rather than discovered later.
- A young status page. Uptime is now published, with every incident, on the status page. Its history only starts in October 2026, so there is not yet a long record to judge us by, and there is no uptime SLA.
- No contractual SLA. We do not currently offer one. If your procurement requires it, talk to us rather than assuming; we would rather say no than sign something we cannot meet.
- No independent positional benchmark yet. See methodology for exactly what we have and have not measured.
- Two subprocessor entries are still being documented. They are listed as outstanding on the subprocessors page rather than omitted.
Ask us
If something here is not specific enough for your security review, write to mridul.kabra23@gmail.com. We would rather answer a hard question than have you guess at the answer.