Skip to content

Privacy Policy

Rob Lazzurs edited this page Jan 14, 2026 · 1 revision

Privacy Policy for OnCall Notify

Last Updated: January 14, 2026

Overview

OnCall Notify ("the App") is committed to protecting your privacy. This privacy policy explains how the App handles your information.

Information We Do NOT Collect

OnCall Notify does not collect, store, transmit, or process any personal information on external servers. Specifically:

  • ❌ No personal data collection
  • ❌ No usage analytics or tracking
  • ❌ No crash reporting to third parties
  • ❌ No advertising or marketing data
  • ❌ No location data
  • ❌ No device identifiers
  • ❌ No cookies or similar tracking technologies
  • ❌ No data sharing with third parties

Information Stored Locally on Your Device

The App stores the following information exclusively on your local device:

API Tokens

  • What: Service API tokens you provide (e.g., PagerDuty API token)
  • Where: macOS Keychain (Apple's secure credential storage system)
  • Purpose: Authenticate API requests to your configured services
  • Access: Only accessible by OnCall Notify on your device
  • Encryption: Protected by macOS Keychain encryption

User Preferences

  • What: App configuration settings and preferences
  • Where: Local app sandbox storage on your device
  • Purpose: Remember your settings between app launches
  • Access: Only accessible by OnCall Notify on your device

Data Transmitted to Third-Party Services

The App connects to external services you explicitly configure to retrieve your on-call information:

Current Supported Services

PagerDuty

  • Connection: HTTPS requests to PagerDuty API (api.pagerduty.com)
  • Authentication: Uses API token you provide
  • Data Requested:
    • Your user profile information
    • Your active incidents
    • Your on-call schedule
  • Purpose: Display your alerts and on-call status
  • Privacy Policy: PagerDuty Privacy Policy

Future Services

Additional services may be supported in future versions (e.g., Atlassian Compass, VictorOps). You will only connect to services you explicitly configure with your API tokens.

How Your Data is Used

On Your Device

  • API tokens are retrieved from Keychain when needed to make API requests
  • Retrieved data (incidents, schedules) is displayed in the app interface
  • Data is temporarily cached in memory while the app is running
  • No persistent storage of incident or schedule data beyond your session

Network Communication

  • All API requests use HTTPS (encrypted connections)
  • Requests are made directly from your device to the service APIs
  • OnCall Notify acts as a client only - it does not operate any servers
  • No data passes through any servers operated by OnCall Notify

Data Retention

Local Storage

  • API tokens remain in Keychain until you delete them via the app Settings
  • App preferences remain until you delete the app or reset preferences
  • Incident/schedule data is not persistently stored - only displayed during app use

When You Uninstall

When you delete OnCall Notify from your device:

  • All app preferences are removed
  • Keychain entries may remain (standard macOS behavior)
  • To fully remove Keychain entries, use macOS Keychain Access app to search for and delete "OnCall Notify" entries

Your Control Over Data

You have complete control over your data:

Deleting API Tokens

  1. Open OnCall Notify Settings
  2. Click "Delete Token" for any configured service
  3. The token is immediately removed from Keychain

Removing All Data

  1. Delete the OnCall Notify app from Applications folder
  2. (Optional) Use Keychain Access to remove any remaining entries:
    • Open Keychain Access app
    • Search for "OnCall Notify"
    • Delete any found entries

Disconnecting Services

You can revoke API tokens through the service provider:

  • PagerDuty: User Settings → API Access Keys → Revoke tokens

Security Measures

OnCall Notify implements the following security practices:

Secure Storage

  • ✅ API tokens stored in macOS Keychain (industry-standard secure storage)
  • ✅ App Sandbox enforced (App Store version)
  • ✅ Hardened Runtime enabled (Direct distribution version)

Secure Communication

  • ✅ All API requests use HTTPS with TLS encryption
  • ✅ No insecure HTTP connections
  • ✅ Certificate validation enforced

Code Security

  • ✅ Code signed by Apple Developer ID
  • ✅ Notarized by Apple (Direct distribution)
  • ✅ App Store reviewed (App Store version)
  • ✅ Open source - code is publicly auditable on GitHub

No Third-Party Dependencies

  • ✅ Built using only Apple's official frameworks (SwiftUI, Foundation)
  • ✅ No third-party libraries or SDKs
  • ✅ Reduced supply chain risk

Children's Privacy

OnCall Notify is not directed to children under the age of 13. We do not knowingly collect information from children. The App is intended for use by IT professionals and on-call engineers.

Open Source

OnCall Notify is open source software licensed under GPLv3:

Third-Party Service Policies

While OnCall Notify does not collect data, the services you connect to have their own privacy policies:

Please review the privacy policies of any services you configure with OnCall Notify.

Changes to This Privacy Policy

We may update this privacy policy from time to time. Updates will be reflected by the "Last Updated" date at the top of this policy.

Material changes will be communicated through:

  • GitHub repository updates
  • App Store update notes (if applicable)
  • In-app notifications (for significant changes)

Data Processing Location

All data processing occurs on your local device. OnCall Notify does not operate any servers or backend infrastructure.

API requests are made directly from your device to the service APIs you configure, which may be located anywhere in the world depending on the service provider.

California Privacy Rights (CCPA)

Under the California Consumer Privacy Act (CCPA), California residents have certain rights. However, since OnCall Notify:

  • Does not collect personal information
  • Does not sell personal information
  • Does not share personal information with third parties

These rights do not apply as there is no personal information collected by OnCall Notify.

European Privacy Rights (GDPR)

Under the General Data Protection Regulation (GDPR), EU residents have certain rights. However, since OnCall Notify:

  • Does not collect or process personal data
  • Does not transfer data outside your device
  • Acts only as a local client application

GDPR obligations do not apply to OnCall Notify's operations.

Note: The services you connect to (e.g., PagerDuty) may be subject to GDPR and have their own compliance measures.

Your Consent

By using OnCall Notify, you consent to:

  • Local storage of API tokens in macOS Keychain
  • API requests being made to services you configure
  • The data handling practices described in this policy

Questions or Concerns

If you have questions about this privacy policy or OnCall Notify's privacy practices:

Contact

Response Time

We aim to respond to privacy inquiries within 7 business days.

Transparency Report

OnCall Notify has:

  • ✅ Never received a request for user data (none exists to provide)
  • ✅ Never been compelled to modify the app to collect data
  • ✅ Never sold or shared user data (none is collected)
  • ✅ Never implemented tracking or analytics

This is possible because the app operates entirely on your local device with no backend servers.

Summary

In plain English:

OnCall Notify is a simple menu bar app that:

  1. Stores your API tokens securely on your Mac (in Keychain)
  2. Uses those tokens to fetch your on-call data from services you configure
  3. Shows you that data in a menu bar interface
  4. Does not send any data anywhere except to the services YOU configure
  5. Does not collect, track, or analyze anything about you

We believe in privacy by design: if we don't collect data, we can't lose it, sell it, or misuse it.


License: This privacy policy is part of OnCall Notify, which is licensed under GPLv3.

Version: 1.0
Effective Date: January 14, 2026
Last Updated: January 14, 2026