Privacy Policy

Draft prepared for review. This is not legal advice — have a qualified lawyer check it before you publish it.

This policy describes exactly what the Marriage app sends to our server, why, how long we keep it, and how you can have all of it erased. Everything below was written from the app's own source code.

The short version

or data brokers. One advertiser does receive something when you choose to watch an ad, and it is none of the data this policy describes us collecting — see Advertising.

video you choose to watch — see Advertising.

Who is responsible

Sanave Tech, Nepal, trading as SANAVE GAMES, is the controller of this data. Write to contact@sanavetech.com about anything in this policy.

What we collect, and why

1. An install identifier

When you first open the game, the app generates a random 24-character string on your device (letters and digits, from a secure random source) and stores it locally. We call it your install id.

It is not derived from your phone, your hardware, your advertising id or any account. It identifies this installation of this game and nothing else. If you delete your account, or uninstall and reinstall, a new one is generated and the old one is not recoverable.

We need it so that your games, your coins and your invite code all belong to the same player instead of being anonymous noise.

A short, human-readable invite code is derived from the install id so a friend can type it in. It carries no other information.

When you play online, your install id is also sent to our game server over the game connection itself, together with your display name and app build. That is what binds you to your seat, so a dropped connection can be resumed instead of costing you the game.

If you sign in, we also create an account id: a random 32-character identifier generated on our server. It is not derived from your install id, your device, your name or your email address, and it is what links your installs of our games to one another. If you never sign in, no account id exists for you.

2. Your display name

The name you see on the table. On first launch the app makes one up for you (USER-1234); you can change it at any time. It is limited to 9 characters. It is stored on our server, and — when you play online — it is shown to the other players at your table.

3. Your device platform and app build

Which platform you are on (such as ios, android, macos or web — a desktop test build reports its own operating system name) and which build of the game you are running (a short text label such as socket-handoff-fix-2). This is how we know whether a bug you hit has already been fixed in a newer build.

4. Game outcomes

When a game finishes, the app sends: a one-time game id, your install id, the time it ended, whether it was an online game, whether you won, your points, your maal, and how many seats were at the table. It also sends a note that a game was started, so we can tell how often games are abandoned.

We do not send the cards. Nothing about your hand, the deck, the Tiplu, or any other player's cards ever leaves your device as a stored record.

5. Wallet movements (virtual coins and diamonds)

Every time your coin or diamond balance changes, we record your install id, the time, the reason (for example "Won a game", "Daily gift", "Hosted a table"), how much moved, your resulting balances, and — if you are signed in — your account id and which of our games the movement happened in. This is how we keep the in-game economy balanced and how we can answer "where did my diamonds go?" if you ask.

Your coins and diamonds are held separately for each of our games and never move between them: coins you have in Marriage are Marriage coins, and there is no way for them to become coins in another of our games.

Coins and diamonds are virtual items with no cash value. See the Terms of Service.

6. Session lengths

When you leave the game, the app sends a session id, your install id, when the session started, how many seconds it lasted, how many games you played in it, your platform and your app build. Sessions shorter than three seconds are not sent at all — those are app-switches, not visits.

7. Crash reports

If the app hits an unhandled error, it sends your install id, the error type, the error message (truncated to 500 characters), the stack trace (truncated to 4,000 characters), which screen you were on, your platform, your app build, and your operating system name and version (for example ios 18.5). This is our entire crash reporting system — there is no third-party crash service.

A stack trace is generated by our code, not by you. We do not intentionally collect anything you typed. Please do not put personal information into the game in the first place.

8. Problem reports you send us

If you use "Report a Problem", we receive the message you typed, plus your install id, platform, app build and device description. Whatever you write in that box is up to you.

9. Invites

If you redeem a friend's invite code, we record that your install id was invited by theirs, once, so the reward is paid once and only once.

10. If — and only if — you sign in with Google or Apple

Signing in is optional. The game is fully playable without it. If you do sign in, we additionally store:

The provider also hands the app a name. We do not store that name as a separate field: unless you have already renamed yourself, the app takes the first name from it, trims it to the 9-character limit, and uses it as the display name described in section 2 — which is the name our server holds. Nothing else the provider returns is sent to us.

Apple's "Hide My Email" is fully supported — if you choose it, the relay address is all we ever see. Apple only gives us your name and email on the very first sign-in; we keep that copy.

We never see and never receive your Google or Apple password. Sign-in is handled by Google's and Apple's own SDKs on your device.

Google may also give us an avatar URL; the app keeps it on your device to show your picture and does not send it to our server.

Sign-in exists for one reason: so that the same person is one player across their devices.

We also store, once you have signed in:

We match you to your account only on the stable user id your provider gives us — never on your email address. This is deliberate: Apple's private relay addresses and Google's address aliases mean two different people can present what looks like the same email, and one person can present several. Your email is stored so we can answer you if you write to us, and is used for nothing else.

11. Technical logs

Our web server keeps ordinary access logs, which include the IP address the request came from, the time, and which endpoint was called. These are used to keep the server running and to block abuse. They roll over automatically and only the five most recent 10 MB log files are kept. Our game server also writes a line to its own system log when a player joins a table, containing the display name and install id.

What we never collect

Advertising

Status: the Google Mobile Ads SDK is present in this build, and no ad has been served yet. Ads stay switched off until we turn them on for a release; when we do, the only thing that appears is the rewarded video described below, and it is still something you choose to watch. This paragraph changes when that happens, and it is the first thing to check if you want to know what a given version actually does.

Marriage shows rewarded ads, and only rewarded ads. A rewarded ad is one you choose to watch — you tap a button offering diamonds, a video plays, and you get them. Nothing plays on its own. There are no banners, no ads between hands, and no full-screen ad you did not ask for.

The ads are served by Google AdMob. When you watch one, Google receives the information it needs to select and measure that ad. That can include your device's advertising identifier (IDFA on iOS, GAID on Android), your device model and operating system, your coarse location as inferred from your IP address, and how you interacted with the ad. We never see who you are in that exchange — AdMob reports to us in aggregate, and we do not receive, store or join your advertising identifier to your account, your install id or anything else in this policy.

Google's own privacy policy governs what they do with it: <https://policies.google.com/privacy>. Google's list of advertising partners is at <https://business.safety.google/adspartners/>.

On iOS the ads are non-personalised. Apple's App Tracking Transparency prompt is the only way an app can be given your advertising identifier, and this build never shows it. Without that permission iOS does not hand your IDFA to anyone, so on iOS the ad you are shown is chosen without it. Nothing else in the game changes, and the reward is the same. If a future version does ask, the prompt will appear before anything is shared for tracking, and this paragraph will change with it.

There is still no analytics SDK. Everything in "What we collect" above goes to our own server and nowhere else. AdMob is the only third party that receives anything, it receives it only when you choose to watch an ad, and it receives none of the data listed above.

Purchases

At the time of this draft no real-money purchase is possible in the app. The shop screen lists packs with prices, but tapping a card-paid pack only tells you that payments are not open yet — no payment is taken, nothing is ordered, and no card details are ever requested, received or seen by us.

The app does now include Apple's and Google's standard billing component, and it starts listening to your device's own store billing service when the game launches. That is there so that, on the day purchases do open, a purchase completed while the app was closed cannot be lost. It charges nothing, orders nothing, and sends us nothing about you. The only trade that works today is diamonds for coins, which moves virtual items inside your own wallet.

We have therefore never collected any purchase or payment data. Our database has an empty table waiting for the day it exists. This policy will be updated, and the store data declarations re-submitted, before any real-money purchase is possible in the app.

When purchases do open, they will require you to be signed in, so that what you buy belongs to an account rather than to one phone that can be lost. Anything bought in a game will be spendable only in that game.

Where the data lives

On one server we rent and administer ourselves: a DigitalOcean droplet located in Bangalore, India, serving marriage.play.sanavetech.com. All traffic between the app and the server is encrypted with TLS (HTTPS/WSS) using a Let's Encrypt certificate.

The data is stored in a single SQLite database file on that machine, in a directory readable only by the server's own system user. Administrative access to the machine is by SSH key only. The internal dashboard that displays this data is protected by a secret token that is generated on the server, never stored in our source code, and returns "401 Unauthorized" without it.

If you are in a country whose law restricts transfers abroad, please be aware that using the game means your data is stored in India.

How long we keep it

How to delete everything

Open the game, go to Profile → Account → DELETE MY ACCOUNT, and confirm.

This is a real deletion, not a request:

  1. The app first asks our server to erase you. If the server cannot be reached, nothing is destroyed and the app tells you to try again — you never end up half-deleted.
  2. On the server we delete your account record, the record of which Google or Apple account it is linked to, your sign-in tokens, the record of each of our games you have installed, your coin and diamond balances and their full history in every one of our games — not only the one you pressed the button in, your user record, your games, your daily activity, your wallet movements, your crash reports, your sessions, your problem reports, and the invite records naming you.
  3. The app then wipes your local data — your name, your install id, your stats, your wallet and its history — and signs you out of Google or Apple.
  4. A brand-new anonymous identity is created so the game still works. You are a new player with no link to the old one.

The only exceptions are the 14-day backup window described above, and the access logs, which age out on their own.

(If the game ever sells anything, a completed transaction is a financial record we may have to keep for tax and accounting. In that case the record of the transaction survives deletion, but your player id is removed from it so it no longer points at you. Today there are no purchases at all, so there is nothing to keep.)

You can also email contact@sanavetech.com from the address you signed in with, and we will do it for you.

Your rights

Depending on where you live, you may have the right to ask what we hold about you, to have it corrected, to have it deleted, to object to how we use it, or to receive a copy. Email contact@sanavetech.com and we will answer. For deletion, the in-app button is faster than we are.

We ask for the install id or the signed-in email so we can find the right records — we have no other way to identify you, and we will not ask you for identity documents.

Children

This game is not directed at children. We do not knowingly collect personal information from children under 13 (or under the higher age of consent where you live — for example 16 in parts of the EU). We ask that children under 13 do not play or sign in.

If you are a parent or guardian and believe your child has created data with us, email contact@sanavetech.com and we will delete it. You do not need to prove anything beyond enough detail for us to find the account.

The game is a card game played for virtual coins. It contains no real-money gambling and no way to win or withdraw money, but the card-play theme is why we do not target it at young children.

Security

TLS everywhere in transit. The database file is restricted to the server's own system user. The admin dashboard requires a secret token compared in constant time, and it is not linked from anywhere. Request bodies larger than 16 KB are rejected before they are parsed. We are a small team and cannot promise perfect security, but we do not collect anything we do not need, which is the best protection there is.

Changes

If we change what we collect, we will update this page and change the draft date at the top. Material changes will be announced in the app.

Contact

contact@sanavetech.com — SANAVE GAMES / Sanave Tech, Nepal.