GatherSafe
GatherSafe

Get your team running on GatherSafe

A step-by-step walkthrough for security directors and team members. From creating your organization to your first encrypted PTT broadcast, with everything in between.

~45 min total setupNo IT department requirediOS & Android

What you'll need

A short checklist so the rest of setup goes quickly. Most teams have everything they need already.

For the admin

  • An email address for your account
  • The name of your church or organization
  • A list of your security teams (parking, lobby, medical, etc.)
  • Names and emails (or phone numbers) for each volunteer
  • Optional: Planning Center credentials if you want to sync rosters

For each team member

  • iPhone (iOS 16.4+) or Android (Android 8.0+)
  • The invite code (or invite link) from your admin
  • Permission to install apps on the device
  • Optional: A Bluetooth PTT button (Retevis, Baofeng BT-PTT, or any BLE HID accessory)

Admin setup

Done by one person, usually the security director. Takes about 20 minutes.

01

Create your admin account and organization

Go to gathersafeapp.com/admin and click Create account. Enter your name, email, and a strong password.

After verifying your email, you'll be prompted to create your organization. This is usually your church or campus name (e.g. "Grace Community Church").

Tip: The organization name appears at the top of the app for every member. Keep it short and recognizable.

02

Build your team hierarchy

Open Groups → Create lead group. Name it something like "Security Lead" or "Command." Lead group members see and hear every sub-team simultaneously.

Then create sub-groups for each area. Common patterns:

  • Parking Team
  • Interior / Lobby
  • Children's Wing
  • Medical Response
  • Greeters

Sub-groups are isolated from each other. Only the lead group bridges them.

03

Invite your team

For each group, click Invite members. You can:

  • Paste a list of emails or phone numbers (one per line)
  • Or generate a group invite code (16 letters and numbers) and share it with your team. Codes expire after 14 days; generate a fresh one any time.

Everyone joins as a Member by default. Only grant admin access to people who should manage groups and settings. Leadership visibility comes from which group someone is in: add them to the lead group and they see and can broadcast to every sub-group.

04

Connect Planning Center (optional)

If you use Planning Center for volunteer scheduling, GatherSafe can sync your rosters automatically. This is an $8/month add-on.

Open Planning Center in the admin sidebar and click Connect. Sign in with your Planning Center admin account, then map each Planning Center team to a GatherSafe sub-group.

After connecting, scheduled volunteers are added to the right groups automatically each Sunday.

Member onboarding

What each volunteer does on their phone. Takes about 5 minutes per person.

01

Install the GatherSafe app

Download GatherSafe from the App Store (iOS) or Google Play Store (Android). Search "GatherSafe" or scan the QR code your admin sent.

The app is free to install. Active service requires an organization invite from your security director.

02

Sign in with your invite code

Open the app and tap Join with invite code. Enter the invite code from your admin, your name, and a password.

If you received an email or SMS invite link, tapping it opens the app and pre-fills the code automatically.

03

Set up your device lock

Choose a 6-digit PIN. If your phone supports Face ID or fingerprint, you'll be asked to enable biometric unlock too.

The app locks automatically once it has been in the background for more than a minute, and asks for your PIN or biometric when you return. After five wrong PINs it makes you wait, and the wait grows with each further miss. Message contents stay locked behind your PIN even if someone picks up your phone.

04

Grant permissions

The app will request a few permissions. Each is required for a specific feature:

  • Microphone — for push-to-talk voice
  • Notifications — for alerts and messages when the app is closed
  • Location (always) — for the team map and panic alert GPS
  • Bluetooth — only if you plan to use a Bluetooth PTT accessory

You can change any permission later in your phone's Settings app.

The five tabs at the bottom

A quick visual orientation before we dig into individual features. Team Map, Incidents, Training, Schedule and Response Plans live behind the Home and Settings tabs.

Home

Channels

Talk

Alerts

Settings

Send an encrypted message

Text messages encrypted at rest with a per-group key and delivered over TLS.

Sending your first message

Messages are encrypted with your group's AES-256 key, sent over TLS, and stored as ciphertext. The server holds the group key so it can hand it to authenticated members, so this is encryption in transit and at rest, not end-to-end.

  1. 1Tap the Channels tab at the bottom of the app (it is called Teams on plans without push-to-talk).
  2. 2Choose the group you want to message. Lead group members see all sub-group threads here too.
  3. 3Type your message in the input bar and tap send. Unread messages show as a badge on the tab.
  4. 4Messages sent while you are offline are queued on your phone and sent automatically when the connection returns.

Push-to-talk voice

Sub-second walkie-talkie voice powered by LiveKit WebRTC. Two ways to transmit: the on-screen button, or a paired Bluetooth PTT accessory.

On-screen PTT

The simplest way to start. Hold the on-screen button to transmit, release to receive.

  1. 1Tap the Talk tab at the bottom of the app.
  2. 2Choose the channel (group) you want to transmit on. Lead group members can pick any sub-group or "All".
  3. 3Press and hold the large blue button to talk. You will hear a short beep when the channel opens.
  4. 4Release the button when finished. A second beep confirms the channel is closed.
  5. 5You will hear other members through the phone speaker, even when the screen is off.

Choose your PTT trigger

Pick between the on-screen button and a paired Bluetooth PTT accessory — the setting is per device, so each team member can use whichever suits their role.

  1. 1Open Settings → Push-to-Talk → PTT Button.
  2. 2Select "On-Screen Button" to talk from inside the app, or "Bluetooth PTT Button" to use an accessory.
  3. 3On Android, you can instead map volume-up or volume-down as your talk key — no accessory needed.
  4. 4If you chose Bluetooth, pair your accessory from the same screen (see below).
  5. 5Test it: hold to talk, speak, release. You should see the green PTT badge at the top of your screen.

Volume-key talk is Android only

Android lets an app read the volume keys only while it is open and on screen, so a mapped volume key transmits while you have GatherSafe in front of you — not from the lock screen, and not while you are in another app. While the mapping is active, the volume keys stop adjusting ringer and media volume. For hands-free transmit with the phone holstered, use a Bluetooth PTT accessory. iOS does not allow apps to use the volume buttons this way at all, so the option does not appear on iPhone.

Pair a Bluetooth PTT button

Any BLE HID push-to-talk accessory works. Retevis, Baofeng BT-PTT, and similar models are tested.

Pairing your accessory

Operate completely hands-free, just like a two-way radio, without the expensive hardware or monthly licensing fees.

  1. 1Put your PTT button into pairing mode. For most models, hold the main button for 5 seconds until the LED flashes blue.
  2. 2Open the GatherSafe app → Settings → Push-to-Talk → Bluetooth accessory.
  3. 3Tap "Scan for devices". Your button will appear within a few seconds.
  4. 4Tap to pair. Confirm the pairing prompt on your phone.
  5. 5Press the button once to test — the green PTT badge should appear at the top of your screen.
  6. 6You can rename the accessory and set per-group default channels from the same screen.

Note for iOS users

iOS suspends background apps aggressively, so GatherSafe must be in the foreground or running a VoIP session for a paired accessory to trigger transmit reliably. The app starts a CallKit session automatically when you enter the Talk tab, so transmit keeps working from there once the screen is off.

Send and acknowledge a panic alert

One tap broadcasts an emergency with your GPS coordinates to every team member, even if their app is closed.

Triggering an alert

Three alert levels: Attention (something needs eyes on it), Warning (active situation), and Emergency (immediate response required).

  1. 1Tap the Alerts tab and choose from Medical, Fire, Lockdown, and other alert types.
  2. 2Choose the alert level: Attention, Warning, or Emergency.
  3. 3Optionally add a short text note (e.g. "north entrance, blue jacket").
  4. 4Tap Broadcast. The alert goes out as a push notification with your GPS coordinates.
  5. 5Recipients see the alert as a full-screen takeover, even if the app was closed.

Active Shooter & Evacuation — the two dedicated buttons

Two separate, permission-gated buttons on the dashboard, not part of the tap-to-send grid above. Both bypass Do Not Disturb and silent mode on every phone in the organization; each has its own sound so the two are never confusable.

  1. 1Active Shooter is the large red button; Evacuation (for fire or any other non-security emergency) is the smaller orange button just below it.
  2. 2Both use the same safeguard: double-tap to arm, then slide to confirm — deliberately harder to trigger than any other alert in the app.
  3. 3Both are off by default for regular members. An admin grants access per member from Settings → Members (or the web admin console), without making them a full admin.
  4. 4Neither alert contacts 911 or any emergency service — always call 911 directly for a real threat or fire.

Acknowledging an alert

Leadership needs to know who's responding. Acknowledging takes one tap.

  1. 1When the full-screen alert appears, tap "Acknowledge" or "On my way".
  2. 2Your name moves to the green list visible to the lead group in real time.
  3. 3Tap "Open in map" to navigate to the alert location.
  4. 4After the situation is resolved, an admin or the alert originator taps "Resolve" to clear it from active alerts. The full timeline is preserved in the Alerts history.

Use the team map

Live positions of every team member during services. Optional, opt-in per member.

Tap Team Map on the Home tab. You'll see colored pins for each team member who has location sharing enabled. Pin colors match the sub-group color you set in admin (e.g. parking team in blue, medical in red).

Geofence check-ins: When a member arrives at the church address, the app prompts "Check in for service?". One tap marks them present and starts location sharing for the duration of the service.

Privacy: Location sharing only runs while the geofence is active and turns off automatically when a member leaves the church grounds. Members can pause sharing at any time from the map screen.

For lead group only: The lead team has a second view called All Teams that shows everyone simultaneously. Sub-team members only see their own group on the map.

Log an incident

Reports with photos, severity and timestamps create a lasting, auditable record.

Filing an incident report

Use this for anything you'd want documented after the fact: medical events, removed individuals, suspicious activity, near misses.

  1. 1Tap Incidents on the Home tab, then start a new report.
  2. 2Add a short title and a longer description. The details are encrypted at rest.
  3. 3Choose a severity: Low, Medium, High, or Critical.
  4. 4Attach photos from the camera or your photo library. Photos are resized before upload and kept in private storage.
  5. 5Tap Submit. The report joins the incident log, where it moves from Open to In Progress to Resolved.

Broadcast a response plan

Pre-configured, one-tap actions for common situations. Created by an admin in the web console.

In the admin console

  1. Open Response Plans in the admin sidebar, then New Plan.
  2. Name it (e.g. "Medical — Sanctuary").
  3. Add the action steps in order. Each step is a short instruction.
  4. Set who receives it (lead group, specific sub-groups, or everyone).
  5. Save. The plan is now available to broadcast from any phone.

From the mobile app

  1. From the Settings tab, open Response Plans.
  2. Choose the relevant plan from the list.
  3. Tap Broadcast. The plan opens as a checklist on every recipient's phone.
  4. Each member ticks steps as they complete them. Lead sees real-time progress.

Training, qualifications & scheduling

Beyond messaging and PTT: keep your team certified, staffed, and covered for every service — natively, without Planning Center.

Training events

Admins create events (CPR certification, active-shooter drills, new-volunteer orientation) with a date, time, location, optional capacity, and the teams invited. Members register from the Training tab and can cancel their own registration; admins see who signed up at a glance.

Qualifications tracking

Define qualification types your ministry cares about (e.g. "CPR Certified", "Radio Operator") under Qualifications in the admin console. Award or revoke them per member, with an optional expiration date — the app flags anyone whose qualification is expiring soon or has already lapsed.

A position can also require qualifications (say, a concealed carry permit for the front door). In the app, under Schedule › Recurring, tap a position to choose them. A member without a qualification that is still valid on the service date can't sign up for it; a coordinator can still assign them, with a reason that is saved on the assignment.

Service scheduling

Native scheduling for teams that don't use Planning Center. Set up a recurring template (day of week, start time, roles/posts needed), and GatherSafe generates upcoming services from it. Members check in, mark availability, or request a swap; leads see coverage and no-shows per service in real time.

Already syncing rosters from Planning Center? Native scheduling and Planning Center service plans work side by side — use whichever fits a given team.

A few settings worth knowing about

Battery optimization

On Google Pixel, open GatherSafe's App battery usage settings and turn on Allow background usage. On Android devices that expose battery modes, choose Unrestricted so background services aren't killed.

PTT voice recording

Off by default. An owner can turn it on in the admin console (Settings → PTT Audio Recording) to keep playable audio of transmissions, not just who/when metadata. Billed at $0.01 per recorded minute — see "Why do you charge for voice recording?" below. Recorded audio is reviewable, downloadable, and deletable from the admin console's Voice Logs page — download it before the 30-day auto-delete if you need to preserve it, e.g. for a legal hold.

Live Activity (iOS)

Shows a Dynamic Island pill and Lock Screen widget while a PTT channel is active, so you can see who's transmitting without unlocking your phone. Toggle it from Settings → Push-to-Talk on iOS.

Reading your usage & billing cards

Admin console → Settings → Subscription. Three cards show what you have used, what is included, and what you are on track to be charged.

1. Members bar

Shows member accounts / your plan's member limit, for example 112 / 150 on Team. The blue bar is simply accounts divided by the limit, capped at 100%. It is hidden on plans with unlimited members.

Use it to decide when to move up a tier. Member, group and campus limits are the real difference between plans, and they are hard limits: you cannot add people past them. The mobile app's Subscription screen shows the same counts for members, lead groups and sub-groups.

2. PTT Usage card

Shown on plans that include push-to-talk. It tracks participant-minutes: one person connected to a PTT channel for one minute. Talking, listening, muted and idle all count, because the cost to us is the open connection, not the speech.

How the number is built

  1. When someone joins a channel, we log the join time. When they leave, we log the leave time and add that connection's exact duration (in milliseconds) to your monthly total.
  2. A connection that spans midnight on the 1st (UTC) is split, so each month gets only its own time.
  3. We add everyone's milliseconds together first, then divide by 60,000 and round down once. Ten 90-second sessions are 15 minutes, not ten rounded-up 2-minute sessions.
  4. Recorder and system connections are never counted, only people.

What each part of the card means

  • This month: X / Y min: X is your total so far this UTC calendar month; Y is the minutes included with your plan.
  • Bar: X divided by Y. Blue while you are within your plan, amber once you pass it.
  • $0.001/participant-min over cap: the price of each minute beyond Y.
  • Usage lands when a person disconnects, so people still connected right now are not in X yet. Connections that never report a disconnect are closed automatically within about 20 minutes.

Included minutes per plan (per calendar month)

Starter 5,000 · Team 13,000 · Ministry 21,000 · Ministry Pro 65,000. Connect plans have no push-to-talk, so they have no PTT card. The allowance resets on the 1st of each month (UTC), whatever day your subscription renews, and unused minutes do not roll over.

Rule of thumb: 10 people connected for a 2-hour service is 1,200 participant-minutes, so a team of 10 serving four Sundays a month uses about 4,800, just inside Starter's 5,000.

What happens at the cap

  • Push-to-talk never stops. Going over the cap only adds a charge.
  • An organization admin gets an email when you reach 80% of the cap and another when you reach 100%, once per month each.
  • Each minute over the cap is billed at $0.001. That is $1.00 per 1,000 minutes.
  • Monthly plans: the overage appears as its own line on your next invoice. The card shows the minutes remaining or the fact that you are over.
  • Yearly plans: the cap still resets monthly, but the overage is invoiced once, at renewal. The card therefore shows a Running overage this billing year box so it never surprises you.

How the yearly running overage is calculated

For every calendar month in your current billing year, take that month's minutes minus your monthly cap (never below zero), add those results up, and multiply by $0.001. Months are not pooled: a quiet month does not cancel out a busy one.

Example on Team (13,000 included): 12,000 in January → 0 over. 15,500 in February → 2,500 over. 14,000 in March → 1,000 over. Running overage is 3,500 minutes × $0.001 = $3.50.

The running total uses your current plan's cap for every month, so if you changed plans mid-year it is a close estimate. The authoritative figure is the usage Stripe has received, shown on your invoice.

3. PTT Audio Recording card

Sits under the PTT Audio Recording toggle in Settings, on plans that include push-to-talk. It reads 0.0 min until you record. Recording is optional, off by default, and has no included minutes: every recorded minute is billed at $0.01.

  • Recorded this billing period: the combined length of every completed recording since your current Stripe billing period began (the whole year on a yearly plan). This counts the time someone was actually transmitting, not connection time, so it is far smaller than your PTT usage.
  • Running recording charge: whole minutes × $0.01. Lengths are added together first and rounded down once, so 12.9 minutes recorded is charged as 12 minutes, $0.12. The minutes line shows one decimal place; the charge uses the rounded-down figure.
  • Monthly plans see the charge on the next invoice. Yearly plans accrue it and invoice it at renewal.
  • Turning recording off stops new charges immediately but does not delete audio already captured. Recordings and their logs are removed automatically after 30 days.

How to use these cards

  • Check the PTT card after a busy weekend or a drill. If you are regularly past the cap, you now know the exact cost of that habit.
  • Consider a higher plan if you are regularly over. Larger plans include more minutes each month, along with higher member, group and campus limits, so a team that keeps passing its allowance may be better served moving up.
  • To lower usage, ask people to leave the PTT channel when they are off duty. Staying connected is what uses minutes.
  • Budgeting a year ahead: add plan price, expected overage (yearly card) and expected recording (minutes transmitted × $0.01).

Your first service checklist

Run this 30 minutes before doors open. Once or twice and it becomes second nature.

  1. 1Open the GatherSafe app and confirm you are signed in to the right organization.
  2. 2Check the dashboard for any active incidents or alerts from previous services.
  3. 3Tap your sub-group in Channels and post a quick "Setting up at <location>" message.
  4. 4Open the Talk tab and do a radio check. Hold to talk: "Lead, parking, comms check." Wait for an acknowledgment.
  5. 5If you have a Bluetooth button, press it once to confirm it triggers PTT (look for the green badge at the top of the screen).
  6. 6Approve the geofence check-in prompt when it appears at the door.
  7. 7Confirm location sharing is on (check the Team Map).
  8. 8Verify your phone is at 50%+ battery and connected to power if you have a long shift.
  9. 9For lead group: open the Map tab and confirm you can see every sub-team's pins.

Common questions and fixes

PTT works in the foreground but not when the screen is off.

On Android, this is often a battery optimization issue. On Google Pixel, open Settings → Apps → GatherSafe → App battery usage and turn on Allow background usage. On Android devices that offer battery modes, choose Unrestricted.

On iOS, a paired accessory only triggers transmit in the foreground unless a CallKit session is active. Open the PTT tab to start a session before you holster the phone.

I'm not getting alert notifications.

Check three things, in order:

  1. System notifications enabled for GatherSafe (phone Settings → Notifications).
  2. Notification override for alerts is not silenced (in-app Settings → Notifications → Alerts → Critical).
  3. The phone is not in Focus / Do Not Disturb mode. Critical alerts can bypass DND if you allow GatherSafe in the Focus settings.
My Bluetooth PTT button connects but doesn't trigger transmit.

Most BLE PTT buttons send a media key event (typically "play/pause"). Open Settings → Push-to-Talk, select "Bluetooth PTT Button", and tap "Scan for Devices" to pair it from inside the app — pairing only from your phone's Bluetooth settings is not enough.

If the device shows as paired but never connects, unpair it from your phone's Bluetooth settings (not just from GatherSafe), then re-pair from inside the app.

A team member's location pin isn't moving.

Two common causes: (1) the member never approved "Always" location permission, or (2) location sharing is paused. Ask them to open the Map tab — if they see a yellow banner, location is paused. Tap to resume.

Location only updates while inside the configured geofence around your church address. Outside that radius, sharing turns off automatically for privacy.

A volunteer lost their phone. What do I do?

Open the admin console → Members, find the person, and click Remove. This deletes their account from your organization, so the phone can no longer refresh its sign-in, fetch messages, join voice channels, or receive alerts. Once they have a new phone, invite them again.

The phone itself is protected by the member's PIN or biometric lock, and the app re-locks after a minute in the background. Group encryption keys are not rotated when someone is removed, so treat anything already delivered to that phone as something the finder could see if they got past the lock.

How do I remove someone from a group?

Admin console → Teams or Channels → choose the group → Members → Remove next to the person. Their access is revoked immediately: they can no longer fetch messages, join the voice channel, or receive alerts for that group.

Messages already delivered to their device stay readable there, and the group’s encryption key is not currently rotated on removal. If you are removing someone for cause, also remove them from the organization under Members, and treat anything previously sent to that group as something they have seen.

Can two people share one device?
We don't recommend it. Each member has their own message history and PTT identity tied to their account. If two people share a phone, alerts and acknowledgments attribute to whoever is currently signed in. Use a dedicated device per person, or sign out and back in between users.
Does GatherSafe work without internet?

Partially. Encrypted text messages queue locally and send when a connection returns. Push-to-talk and live alerts require an active internet connection (LTE or Wi-Fi).

For buildings with weak cellular coverage, install a Wi-Fi access point in your sanctuary or lobby and have your team join it before service starts.

Where is my data stored, and who can read it?
Servers are hosted on encrypted infrastructure in the United States. Message bodies are encrypted with your group's AES-256 key. The server holds the key in order to distribute it to authenticated members, so this is not a zero-knowledge system — see our public security model document for the full threat model. Voice is SRTP-encrypted in transit and not retained unless you enable recording.
Why do you charge for voice recording?
To keep our tier prices low, we don't bake estimated usage into the base plan. That wouldn't be fair to organizations who don't want extra features they'd end up subsidizing for everyone else. Billing recording separately, only for the orgs that turn it on, is how we stay a much cheaper alternative than apps like Zello, which charge far higher fees per user.
How do I turn on voice recording, and where do recordings go?

An organization owner can enable it from the admin console: Settings → PTT Audio Recording. It applies to new transmissions only — nothing is retroactively recorded, and turning it off doesn't delete audio already captured.

Once on, members see an in-app notice that transmissions may be recorded. Recorded audio is billed at $0.01 per recorded minute and reviewable, downloadable, or deletable — individually or in bulk — from the admin console's Voice Logs page.

Logs and their audio are auto-deleted after 30 days regardless, so if you record specifically to have evidence available for a legal or HR need, download anything you may need to keep before then — the admin console has no export beyond that window.

What does a participant-minute mean, and why is my PTT usage so high?

A participant-minute is one person connected to a push-to-talk channel for one minute. It counts whether they are talking, listening, muted or idle, because the open connection is what costs us money, not the speech.

So 10 people sitting in a channel for a two-hour service use 1,200 participant-minutes. To bring usage down, have people leave the channel when they are off duty. See "Reading your usage & billing cards" above for the full calculation.

What happens when we go over our included PTT minutes?

Nothing stops working. Every minute over your plan's monthly allowance is billed at /bin/bash.001 ( per 1,000 minutes). An organization admin is emailed at 80% and at 100% of the allowance.

Monthly plans see the overage as a separate line on the next invoice. Yearly plans accumulate it and are invoiced once at renewal; the PTT Usage card in Settings → Subscription shows the running total. The allowance resets on the 1st of each month (UTC), and unused minutes do not roll over.

We'll set you up over a 30-minute call

Send us a note with your church name and a few times that work this week. We'll walk through the admin console with you and get your team running before Sunday.