Giter Site home page Giter Site logo

beekeeper's Introduction

Build Status

Beekeeper

An anonymous usage statistics tracking library for iOS using a differential privacy approach.

Beekeeper allows you to get insights about your most important KPIs like daily, weekly or monthly active users, funnels and events and much more without sacrificing your users' privacy.

Install

Swift Package Manager

.package(url: "https://github.com/ChaosCoder/Beekeeper.git", from: "1.0.0")

What user data is stored?

An event in the app (*e.g. user tapped a button or opened the app) is sent via Beekeeper to your server.

An event, that is fired in your app, includes the following data:

  • id: String: Random UUID for the event
  • product: String: The app the event was fired in
  • timestamp: Date: The precise timestamp the event was fired
  • name: String: The name of the event
  • group: String: The group/category of the event
  • detail: String?: A detail of the event (optional)
  • value: Double?: A numeric value of the event (optional)
  • custom: [String]: Custom data

Additionally, each event carries metadata. This metadata is usually the crucial part for the privacy of the user. Let's have a look at the metadata:

  • previousEvent: String?: Event (name), that was triggered before this event within the same group
  • previousEventTimestamp: Day?: Date (day precision), when an event of the same, was triggered last time
  • install: Day: Date (day precision) when the user installed the app

Note: There is no user id, no IP address or other identifying information about the user.

Privacy-preserving anonymous system

Each event is stored in a database with just the information listed above. Each event is isolated from the history, as the only two links to previous events are too unprecise to be chained together. This way, Beekeeper is anonymous and not only pseudonymous. This property is important for preserving the users' privacy, as pseudonymous solutions can potentially be de-anonymized.

Powerful insights

Beekeeper allows you to generate important insights about your app. A basic event that can be tracked in an app is the event of opening the app.

Your daily app sessions can then be calculated by just counting those events on a given day. The daily active users (who could have multiple sessions a day) can be calculated by just counting the events with a previousEventTimestamp of a past day. The same goes for weekly, monthly or other timeframes.

Acknowledgments

Base icon made by Eucalyp from Flaticon with some custom coloring.

beekeeper's People

Contributors

chaoscoder avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.