Why us Easy integration
Developers
Talk to sales
Frequently asked questions

Questions we get, answered without marketing language.

The questions engineers, data protection officers and buyers actually ask. Where the answer is no, it says no.

The short version

The answers that settle most of the meeting.

  • Database access: none, and no mechanism exists for it. Your backend calls us.
  • Personal data: your own identifier for the customer, an optional time zone, timestamps. No PII fields.
  • Integration: name the numbers you want tracked, then send one request per customer action. The five steps, in full.
  • Certifications: none claimed. We argue from architecture, not from badges.
  • Money: never held, never moved. Your platform issues every real prize.
  • Customer experience: yours to design. We hand you JSON; the screen is yours.
The integration boundary: your backend posts events out to Gemifier, and nothing is required to travel back into your infrastructure. the boundary Your platform who your customers are money and prizes what customers see your own reporting Gemifier metrics and events missions and streaks points ledger reward grants POST /v1/metric-events one event per request nothing required inbound

Traffic starts on your side, one event at a time, over HTTPS, with a key you control.

Integration and data

What engineers and data protection teams ask first.

Three things. Name the numbers your product already tracks, such as purchase_amount or visits. Add one authenticated HTTPS request in your backend wherever something worth counting happens. Then build the screen your customers see, reading missions, streak, balance and shop back out of our API. There is no SDK to embed, no script on your pages and no agent to install.

No, and there is no mechanism by which we could. We ship no database client, no replication process and no route into your private network. Your backend posts activity and reads state back, authenticated with a key you mint and can revoke in a second. The only call we ever start is a webhook, to a public URL you chose to register.

A customer record holds your own identifier for them, an optional time zone and timestamps. There is no field for a name, an email address, a phone number or an address, not empty fields, no fields at all. You declare the attributes, so keep them to things like tier and country. A rule works just as well on those.

We make no certification claims. We are not SOC 2, ISO 27001 or PCI certified. What we can state is architectural: the customer record has no PII fields, so we hold your opaque identifier plus counters and timestamps, and you stay the controller. For processing terms, sub-processors, retention and incident handling, ask during the demo and we will answer in writing.

Attach an idempotencyKey and the second request returns the result of the first instead of counting it twice. Retries, at-least-once queues and a double click all become harmless. Without a key, a second request is a second event: we cannot tell a duplicate from a customer who genuinely did the same thing again.

Register an HTTPS endpoint and we post each catalog item grant to it as it happens, signed with HMAC-SHA256. You can rotate the secret and fire a test delivery on demand. Delivery is at-least-once, so treat the delivery id as your duplicate check. Register nothing and the grants are still recorded, and you can see them in the dashboard.

Mechanics, security and price

What exists today, and what does not.

Every project has two, Sandbox and Live, always both. They hold separate data and separate keys. The key decides which one a request reaches, so the same code runs against either.

No. One missed day restarts the run at 1. A streak is only worth something to a customer if breaking it costs something. Two things soften it: the streak is endless, so a reset is a restart rather than a failure, and the longest run a customer ever reached is kept permanently.

A day ends at local midnight in the customer's resolved zone. Send playerTimeZoneId with an event and that person's daily missions and streak days follow their own calendar. Without one, the environment default applies, which is the zone the project was created with. A mission can instead force the project default, so everyone rolls over together. Week start defaults to Monday.

Yes, in the dashboard, without an export: active customers by day, week and month; the mission funnel from offered to opted in to finished; points in and out by cause; live streaks and how runs ended; marketplace sales. It cannot tell you what that did to revenue, because it never sees revenue. That question belongs in your own BI stack.

Not today. Dashboard sign-in is email and password against a signed access token. There is no SAML, no OIDC, no social login and no second factor. Dashboard access is for people only and is separate from ingest, where machines use project API keys on a different host. If not having SSO is a procurement blocker, say so.

Per organization, quoted against the shape of your programme: how many projects you run, how many environments are live and how much you send. There is no self-serve tier. Ask during the demo and you get a figure with the assumptions written next to it. Contact sales to get one.

Ask us the one we did not answer.

Bring the question your security reviewer, your DPO or your CFO will ask. You get a specific answer in the call, including when the answer is no.