Access Control Policy

Bifold · Version 1.0 · Effective 9 September 2026 · Reviewed quarterly

Who can reach production and consumer financial data, how that is enforced, and how it is checked. This is the access control section of Bifold's information security policy, expanded. Bifold is a single-developer operation on managed infrastructure, so the controls lean on the platform boundary rather than on process between people.

1. Scope

Covers every system that can reach consumer financial data: the Supabase project (Postgres database, authentication, edge functions, project secrets), the source repository, the Plaid dashboard, the Apple developer account, the Vercel project serving the public site, and the development machine.

2. Principles

3. Human access to production

One person holds administrative access: Eeshan Kulkarni, owner and sole developer. There are no employees, contractors or third parties with standing access.

4. Consumer access to their own data

5. Authorization model

Roles, and what each may reach:

RoleWho or what holds itReach
anonAn unauthenticated clientNothing. No user table is readable.
authenticatedA signed-in consumer's sessionOnly rows whose owner matches the session's user id, enforced by row-level security on every user table. Cannot be widened by any application query.
service_roleServer-side edge functions onlyFull data access. The key exists only as a managed secret in the server environment; it is not in the app binary, the repository or any committed file.

The Plaid access token boundary. Tokens live in a dedicated table with row-level security enabled and no policies defined at all, with grants explicitly revoked from both anon and authenticated. The effect is that no consumer session of any kind can read a Plaid access token, whatever the application does; only server-side functions running as the service role can. The app never receives a token.

6. Non-human authentication

7. Provisioning and removal

8. Access review

Reviewed at least quarterly, and immediately after any change in who holds access. Each review walks the same four consoles, confirms the member list is exactly the intended one, and revokes stale machine credentials and personal access tokens.

DateScope reviewedOutcome
9 September 2026Supabase organization members, source repository collaborators and personal access tokens, Plaid dashboard team, App Store Connect usersSole owner only on all four; no additional members, no stale machine credentials. MFA confirmed enrolled on each.

9. Exceptions

There are none in force. Any future exception must be written down with the compensating control and an expiry date, and is revisited at the next quarterly review.