The app that powers
Clone or download
Latest commit 070c00c Oct 19, 2018
Failed to load latest commit information.
.cloud66 Fix ruby version in staging as well Jan 10, 2018
.localeapp re-add localeapp Apr 29, 2013
app Merge pull request #498 from Safecast/rails-4.2-take-2 Oct 19, 2018
bin Rubocop fix May 6, 2017
config change to raise exception in that are raised in after_commit or after… Sep 17, 2018
db update db/structure.sql Sep 17, 2018
deploy 🚓 enable Style/TrailingBlankLines and auto-correct Jun 30, 2016
doc Remove old SSL files Jan 23, 2018
lib fix error of assigning non-string value to ENV Jun 5, 2018
log Remove localeapp.yml from repo. Apr 17, 2012
public Disallow robots Jul 1, 2016
script Add cosmic radiation manual map export scripts Oct 10, 2018
spec sort bgeigie imports by created_at in descending order Oct 14, 2018
vendor Pull out unused js/css May 6, 2017
.codeclimate.yml Quote codeclimate quotables Mar 16, 2018
.env.sample remove intercom integration Apr 14, 2018
.ey s/teamdata/safecastapi Aug 25, 2013
.gitignore Ignore bundled gems Sep 1, 2015
.rspec add rspec default options Jun 1, 2016
.rubocop.yml update for namespace change Nov 28, 2017
.rubocop_todo.yml ignore new cops as todo for now Nov 28, 2017
.ruby-version update ruby to 2.2.7 Aug 1, 2017
.travis.yml Fix up travis postgis problem Sep 18, 2017
Dockerfile add dockerfile for app Sep 16, 2018
Dockerfile.postgres change to accept only connection from private networks Sep 16, 2018
Gemfile require responders gem explicitly Sep 17, 2018
Gemfile.lock require responders gem explicitly Sep 17, 2018
Procfile add unicorn config Nov 11, 2013 Revert "Trying out" Sep 3, 2018
Rakefile rails app Oct 17, 2011
circle.yml run rubocop in builds Jun 5, 2016 🚓 enable Style/ExtraSpacing and auto-corect Jun 30, 2016
docker-compose.yml Merge pull request #500 from Safecast/dockerfile-for-app Sep 23, 2018


Build Status Code Climate Test Coverage

The app that powers


This is a rails app deployed in front of Postgres with Postgis. Data files generatated from various devices such as the bGeigie Nano and are uploaded to the production app at

From there applications query the app's endpoints to pull the stored data for other purposes.

See the Tilemap Project's README for more diagrams on the complete data flow.

There is also a development host located at which is used for testing features before rolling them to the main endpoint.



Translation is managed by Locale and open to all.

You can edit translations on the Safecast/safecastapi project on Locale.

The maintainers will then pull translations from the Locale project and push to Github.

Happy translating!


See one of the wiki pages for instructions on setting up for local development:


Licensing can be confusing. We’ll try to make it a little less so.

When you contribute to Safecast by participating in an event OR submitting content or information to a webpage OR submitting a pull request, testing or bug reporting OR sending data from your Safecast device then you license all of your contribution to Safecast and to all the world under these same licenses. Safecast will be attributed as the source.

Design, hardware, software, design and website content is shared by Safecast under the licenses specified below:

  • All Data is Creative Commons Zero, anyone is free to make any use of the data, attribution is not legally required but is encouraged.
  • All Design is Creative Commons Attribution Share-Alike, anyone is free to copy, edit and republish the design but must make it clear Safecast is the source and the design must be published under the same or a compatible license.
  • All functional aspects of design are under the Berkeley Software Distribution License in respect of copyright and the XL1.0 Cross License in respect of patent.
  • Web Content is under Creative Commons Attribution Non Commercial, anyone can copy and remix the what is on the website but must attribute Safecast and anyone else specified by Safecast.
  • “Safecast” and the safecast logo are Registered Trademarks of the Momoko Ito Foundation, a 501(c)3 Non-profit, you can't use them without permission.
  • Software is licensed under the MIT license unless otherwise specified.