☽
Skip to main content
Arihna Biha logo

How prayer synchronization works

The complete user journey, from first sign-in to account deletion, with each permission tied to the promise it enables.

CommunityRead-only agenda or no-OAuth delivery
SupporterFull sync, Advanced Preview, automation, up to 2 connections
DeletionTokens, connections, feeds, and local data removed
scope identity or read-onlyscope write access protection or promise

Onboarding

Identity only. No calendar access exists yet.

Create account or log in

Email and password, or OAuth sign-in.

uses:

Google
openidemailprofile
Outlook
openidemailprofile

Set up prayer space

Location, calculation method, school, selected prayers, duration, and buffers are stored in the app. No calendar permission is needed.

Prayer times calculated

Aladhan calculates saved Prayer Defaults. This is an external prayer-time source, not a user calendar permission.

Preview draft

Arihna Biha proposes Prayer Blocks before anything is delivered.

Community tier by default

1 active read-only Calendar Connection, without full sync or scheduling automation.

Choose a delivery path

Calendar OAuth is requested only when the user chooses readable agenda context or a writable full-sync target.

Path A: read-only agenda

Show agenda context and detect conflicts.

Google
openidemailprofilecalendar.events.readonlycalendar.calendarlist.readonly
Outlook
openidprofileemailoffline_accessUser.ReadCalendars.Read
Never creates, edits, or deletes provider events.
Switching the active Calendar Connection neither revokes the old OAuth grant nor requests a new one.

Path B: email / export

Deliver Prayer Blocks without Google or Outlook OAuth.

Zero calendar permissions. A verified delivery inbox is enough.
.ics download or grouped .ics email. Meeting invite delivery is Coming next.
Private, revocable feed URL. The calendar provider pulls it on its own timing.
Good no-write fallback, but not deterministic full sync.

Path C: nothing connected

Maximum privacy, in-app only.

Zero provider permissions of any kind.
Prayer Defaults and Preview stay in Arihna Biha.
No agenda reading, no provider writes, and no delivery until the user enables a path.

Supporter full sync

The upgrade adds write access only when the user chooses full sync.

Become Supporter

A Stripe subscription changes account access, not calendar permission.

Supporter entitlement

Unlocks full sync, scheduling automation, and up to 2 active Calendar Connections.

Full calendar OAuth consent

The provider consent includes identity, offline access, calendar listing, and calendar write permissions.

full consent:

Google
openidemailprofilecalendar.eventscalendar.calendarlist.readonly
Outlook
openidprofileemailoffline_accessUser.ReadCalendars.ReadWrite

Choose Sync Target

The user picks the writable provider calendar where Prayer Blocks should live.

lists target calendars via:

Google
calendar.calendarlist.readonly
Outlook
Calendars.ReadWrite

Review, then write

Arihna Biha creates, updates, deletes, or restores only app-owned Prayer Blocks.

writes via:

Google
calendar.events
Outlook
Calendars.ReadWrite

Synced Events

Provider events owned and tracked by Arihna Biha.

kept fresh with:

Outlook
offline_access
Protections running alongside sync

Scheduling automation

Live rules retrigger on saved scheduling changes, Prayer Defaults changes, blocker agenda notifications, and writable target notifications. Scheduled .ics email follows its saved cadence.

Automatic recovery

Delayed automatic rules can retry without changing Prayer Defaults or granting new calendar permission.

Manual-edit options

Scheduling offers separate options for changes made in Arihna Biha and for Arihna Biha-owned events changed in Google or Outlook.

Second Calendar Connection

Supporters can keep an extra Google or Outlook account for blockers, previews, and targets.

Token promise applies to every calendar permission

Encrypted at rest Used only for selected calendar features Active local tokens are cleared on disconnect; account deletion also processes retained grants

Account deletion

Every permission granted along the way is unwound in order.

Delete account requested

Active Supporter payments stop. Scheduling and live sync rules are disabled.

Optional provider cleanup

Future Arihna Biha-owned Prayer Blocks can be deleted from provider calendars while write access still exists.

last use of:

Google
calendar.events
Outlook
Calendars.ReadWrite

Provider access cleanup

Google revocation is requested. Microsoft local tokens are removed, and the user can also revoke consent provider-side.

removed:all granted calendar scopes

Final deletion and receipt

Local OAuth tokens, Calendar Connections, Agenda Sources, Sync Targets, feeds, Prayer Defaults, User-tied history, and the User account are removed. Arihna Biha then attempts to email a deletion receipt.

Arihna Biha - permission model overview - gray = identity/read-only - gold = write access

For details about the data associated with these permissions, read the privacy policy.