Privacy Policy — Piper's Path (DRAFT)

Domain: bagpiperspath.com · Application: Piper's Path · Status: DRAFT — NOT FINAL / NOT FOR PUBLIC RELIANCE (prepared for operator review & Google verification preparation; not yet Google-verified).
DRAFT / Review Notice for Operator Approval: Green sections below state verified technical behaviour of the Piper's Path software. Amber boxes mark policy wording, contact details, and commitments that require confirmation or supply by Leslie before public publication.

1. Information Collected During Installation

Confirmed Technical Behaviour: The self-service installer executes directly inside the administrator's browser. When an administrator sets up an organisation, they enter:
  • Organisation name, type, primary teaching language (en or es), studio header title/tagline/colour, and continuous practice qualification threshold (1–30 minutes).
  • Administrator display name and owner Google Account email address (used strictly to verify that the Google account granting OAuth consent matches the declared owner email and to configure owner-only access on the Teacher Dashboard).
Piper's Path operates no central application database or backend server storing administrator or pupil records.

2. Google OAuth Permissions Requested

When an organisation owner signs in with Google during setup, the installer requests only these three permissions:

OAuth Scope Technical Purpose in Piper's Path
https://www.googleapis.com/auth/drive.file Creates and accesses only the private Google Drive recordings folder and Google Spreadsheet created by Piper's Path for that organisation. Does not grant read or write access to unrelated Drive files, photos, or emails.
https://www.googleapis.com/auth/script.projects Creates and configures the organisation's standalone Google Apps Script backend project and standalone Teacher Dashboard project inside the owner's Google account.
https://www.googleapis.com/auth/script.deployments Creates versioned Google Apps Script Web App deployments inside the owner's Google account for the Pupil Practice Studio endpoint and the owner-only Teacher Dashboard.

In addition, when the owner authorises their own Apps Script projects inside Google Apps Script, those user-owned scripts request permission within the owner's Google account to write recordings to their Drive folder, read/write their organisation Spreadsheet, and verify the signed-in Teacher Dashboard owner's email address (userinfo.email).

3. Google Drive & Google Sheets Usage

  • All audio practice files recorded by an organisation's pupils are stored exclusively inside that organisation's dedicated Google Drive folder under the owner's Google account.
  • Pupil enrolments, active/inactive flags, personal Practice Studio links, session timestamps, durations, qualification statuses, targets, teacher comments, and badges are stored inside that organisation's Google Sheet.
  • The installer verifies the signed-in Google account via oauth2.googleapis.com/tokeninfo before provisioning and rejects mismatches.

4. Practice Recordings & Pupil Information

Confirmed Technical Behaviour:
  • Pupils do not sign in with Google accounts. They open a private, organisation-scoped invitation URL containing a generated pupil UUID and cryptographic access key.
  • The Practice Studio records audio in the browser (up to 5 MiB per session), validates media duration server-side in the organisation's Pupil Apps Script backend, and stores only the recording and session metadata in the organisation's own Drive folder and Spreadsheet.
Requires Leslie's Approval (Youth / Under-18 Notice): Organisation administrators may enrol young learners in youth pipe bands. Confirm appropriate parental/guardian consent wording, minimum-age guidance, and administrator privacy obligations applicable in your jurisdiction before publishing.

5. Data Ownership & Access

Every organisation retains complete, independent ownership and custody of its Google Drive folder, Google Sheet, audio recordings, and Google Apps Script projects. Neither Piper's Path developers nor any other band or school can view, modify, or access another organisation's data.

6. Teacher Dashboard Access Restrictions

Confirmed Technical Behaviour: Each organisation's Teacher Dashboard is deployed as a separate Google Apps Script Web App configured with access: MYSELF and executeAs: USER_DEPLOYING, and bound to the owner's configured email address. Only the authenticated owner Google account can open the Teacher Dashboard, enrol or deactivate pupils, review recordings, or award badges. Assistant access is disabled by default (PP_ALLOW_ASSISTANTS: 'false'). Audio playback links verify direct membership inside the organisation's configured recordings folder before returning bytes.

7. Browser Storage & Installation Recovery

Confirmed Technical Behaviour:
  • OAuth Access Token: Held strictly in JavaScript memory during the active installation session (short-lived 1-hour browser token; never written to localStorage, sessionStorage, URLs, or downloadable files).
  • Tab Session Storage (sessionStorage): Temporarily holds transient bootstrap/admin setup secrets during the active browser tab until setup completes, then clears automatically.
  • Local Storage (localStorage): Stores non-secret installation recovery checkpoints (organisation configuration, owner name/email, Drive/Sheet/Script resource IDs—no OAuth tokens, bootstrap secrets, or pupil access keys) so interrupted setups can resume without duplicating Google resources. Cleared automatically upon completion.
  • Downloaded Recovery Information (.json): Exports only non-secret configuration and Google resource IDs/URLs (explicitly excluding OAuth tokens, pupil keys, and owner email).
  • Practice Studio IndexedDB: Stores pupil session credentials (with URL fragment immediately scrubbed via history.replaceState) and encrypted local offline audio queue entries (SAFE ON DEVICE) inside the pupil's own browser until uploaded.

8. Data Retention & Deletion

Organisation data lives inside the owner's Google Drive and Google Sheets until modified, deactivated, or deleted by the organisation owner using Google Drive or Google Sheets. Revoking Piper's Path's OAuth access in Google Account Security Settings immediately stops the browser installer from calling Google APIs on that account.

Requires Leslie's Approval (Retention Policy): Piper's Path software imposes no automatic server deletion because no central server exists. Supply any recommended retention schedule or deletion procedure guidance you wish to advise organisation administrators to follow.

9. Security Measures

  • All static web pages, Google APIs, and Apps Script endpoints operate exclusively over HTTPS.
  • Separate static hosting packages isolate the public website, the self-service installer, and the Pupil Practice Studio.
  • Inactive pupils are rejected server-side before creating Drive files or Spreadsheet rows (Active === 'Yes' verified with 256-bit cryptographic pupil access keys).
  • One-time backend initialisation hashes are verified with SHA-256 and locked permanently once provisioned.

10. Google API Services User Data Policy & Limited Use

Piper's Path's use and transfer to any other app of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements.

Specifically, Google user data accessed during installation is used solely inside your browser to create and verify your organisation's Google Workspace resources. Piper's Path does not sell Google user data, use it for advertising, transfer it to data brokers, or use it to train artificial intelligence or machine learning models.

11. Contact Information

Requires Leslie's Input Before Publication:
  • Responsible Operator / Entity Name: [TO BE SUPPLIED BY LESLIE]
  • Privacy & Support Email Address: [CONTACT EMAIL TO BE SUPPLIED BY LESLIE, e.g. [email protected]]
  • Effective Date: [DATE TO BE CONFIRMED AT PUBLICATION]

Política de Privacidad — Piper's Path (BORRADOR)

Dominio: bagpiperspath.com · Aplicación: Piper's Path · Estado: BORRADOR — NO DEFINITIVO / PENDIENTE DE REVISIÓN (preparado para revisión del responsable y verificación de Google; aún no verificada por Google).
BORRADOR / Aviso de Revisión para Aprobación: Los bloques en verde describen el comportamiento técnico comprobado del software. Los recuadros en ámbar señalan datos de contacto, plazos y cláusulas legales que requieren confirmación o aportación de Leslie antes de su publicación pública.

1. Información Recogida Durante la Instalación

Comportamiento Técnico Confirmado: El instalador se ejecuta íntegramente en el navegador del administrador. Durante el alta se solicitan:
  • Nombre de la organización, tipo, idioma principal (en o es), título/lema/color de cabecera y umbral continuo de calificación (1 a 30 minutos).
  • Nombre del responsable y correo electrónico de su cuenta Google propietaria (usado únicamente para verificar coincidencia con la cuenta autorizada y configurar el acceso exclusivo del Panel de Profesor).
Piper's Path no utiliza bases de datos centrales ni servidores propios que almacenen datos de escuelas o alumnos.

2. Permisos OAuth de Google Solicitados

Al autorizar la instalación con Google, el asistente solicita exclusivamente estos tres permisos:

Permiso OAuth (Scope) Finalidad Técnica en Piper's Path
https://www.googleapis.com/auth/drive.file Crea y gestiona únicamente la carpeta de grabaciones y la hoja de cálculo creadas por Piper's Path para la organización. Nunca concede acceso al resto de archivos de Drive, fotos o correos personales.
https://www.googleapis.com/auth/script.projects Crea y configura dentro de la cuenta Google del propietario los proyectos Apps Script del Estudio de Práctica y del Panel de Profesor.
https://www.googleapis.com/auth/script.deployments Publica versiones Web App dentro de la cuenta del propietario para el servicio del Estudio de Práctica y del Panel de Profesor privado.

Adicionalmente, cuando el propietario autoriza por primera vez sus propios scripts en Google Apps Script, dichos scripts solicitan dentro de su cuenta permiso para guardar audios en su carpeta de Drive, leer/escribir su hoja de cálculo y comprobar su correo propietario (userinfo.email).

3. Uso de Google Drive y Google Sheets

  • Todas las grabaciones de práctica se guardan únicamente en la carpeta privada de Google Drive creada dentro de la cuenta del propietario.
  • La matrícula de alumnos, estado activo/inactivo, enlaces personales, fechas, duraciones, calificación, objetivos, comentarios e insignias residen exclusivamente en la hoja Google Sheets de esa organización.
  • Antes de crear recursos, el instalador comprueba mediante oauth2.googleapis.com/tokeninfo que el correo autenticado coincide exactamente con el correo propietario declarado.

4. Grabaciones de Práctica e Información de Alumnos

Comportamiento Técnico Confirmado:
  • Los alumnos no necesitan iniciar sesión con Google: acceden mediante un enlace personal asignado por su organización con identificador UUID y clave criptográfica propia.
  • El estudio graba audio en el navegador (hasta 5 MiB por sesión), valida la duración real en el backend Apps Script de la escuela y guarda el audio únicamente en su Drive y hoja privada.
Requiere Aprobación de Leslie (Menores y Bandas Juveniles): Las organizaciones pueden matricular alumnos menores de edad. Antes de publicar definitivamente, confirme la redacción sobre consentimiento parental/tutorial y obligaciones de los administradores según la normativa aplicable.

5. Propiedad de los Datos y Acceso

Cada organización conserva la propiedad y custodia exclusiva de su carpeta de Google Drive, hoja Google Sheets, grabaciones de audio y proyectos Apps Script. Ni los desarrolladores ni otras organizaciones tienen acceso a sus datos.

6. Restricciones de Acceso del Panel de Profesor

Comportamiento Técnico Confirmado: El Panel de Profesor se despliega como proyecto Apps Script independiente configurado con access: MYSELF y executeAs: USER_DEPLOYING, vinculado al correo propietario. Solo la cuenta Google propietaria puede abrir el panel, matricular o desactivar alumnos, escuchar audios o conceder insignias. El acceso a asistentes está desactivado por defecto (PP_ALLOW_ASSISTANTS: 'false').

7. Almacenamiento en Navegador y Recuperación

Comportamiento Técnico Confirmado:
  • Token OAuth: Se mantiene solo en memoria JavaScript durante la sesión (validez temporal de 1 hora; nunca se guarda en localStorage, sessionStorage ni archivos descargados).
  • Almacenamiento de Pestaña (sessionStorage): Conserva de forma temporal los secretos transitorios de inicialización durante la pestaña activa y se borra al finalizar.
  • Almacenamiento Local (localStorage): Guarda puntos de recuperación sin secretos (configuración, nombre/correo del propietario e identificadores de Drive/Sheets/Script, nunca tokens OAuth ni claves de alumnos) para reanudar sin duplicados si se interrumpe la conexión, y se elimina al completarse.
  • Información de Recuperación (.json): Contiene únicamente configuración no secreta e identificadores de recursos Google (sin tokens, claves de alumno ni correo del propietario).
  • IndexedDB del Estudio: Guarda en el propio navegador del alumno sus credenciales de estudio y cola local cifrada pendiente de subida (SAFE ON DEVICE) en caso de pérdida de cobertura.

8. Conservación y Eliminación de Datos

Los datos permanecen en Google Drive y Google Sheets bajo control del propietario hasta que los modifique o elimine. El propietario puede revocar los permisos OAuth de Piper's Path en cualquier momento desde la configuración de seguridad de su cuenta Google.

Requiere Aprobación de Leslie (Plazos de Conservación): Al no existir servidor central, Piper's Path no impone borrado automático. Defina si desea incluir recomendaciones específicas de conservación o eliminación para las organizaciones usuarias.

9. Medidas de Seguridad

  • Todas las páginas web, APIs de Google y servicios Apps Script se comunican exclusivamente mediante HTTPS.
  • El sitio público, el instalador y el estudio de alumnos están alojados en paquetes estáticos independientes.
  • Los alumnos desactivados son rechazados en el backend antes de crear archivos o filas, y las claves criptográficas de acceso cuentan con 256 bits de entropía.
  • La inicialización inicial usa verificación por hash SHA-256 de un solo uso bloqueada de forma permanente tras instalarse.

10. Política de Datos de Usuario de Google API y Uso Limitado

El uso y la transferencia a cualquier otra aplicación de la información recibida de las API de Google por parte de Piper's Path cumplirán con la Política de Datos de Usuario de los Servicios API de Google, incluidos los requisitos de Uso Limitado (Limited Use).

Los datos autorizados durante la instalación se emplean únicamente en el navegador para crear y verificar los recursos Google Workspace de la propia organización. Piper's Path no vende datos de usuarios, no los utiliza con fines publicitarios ni los emplea para entrenar modelos de inteligencia artificial o aprendizaje automático.

11. Información de Contacto

Datos Pendientes de Suministrar por Leslie Antes de Publicar:
  • Responsable / Entidad Operadora: [PENDIENTE DE INDICAR POR LESLIE]
  • Correo de Soporte y Privacidad: [CORREO PENDIENTE DE CONFIRMAR POR LESLIE, ej. [email protected]]
  • Fecha de Entrada en Vigor: [FECHA A CONFIRMAR AL PUBLICAR]