Privacy Policy
Tefteri is operated by Pavlos Stathopoulos, Athens, Greece, acting as an individual and the controller responsible for the personal data processed to operate the App and its online services. This notice explains that processing and your choices. It is not a request for consent: accepting the Terms, opening this notice, or continuing to use the App does not provide consent for processing that requires a separate choice.
At a glance: Pavlos Stathopoulos operates Tefteri. Your notebook is local unless you connect Google for cloud synchronization. Limited aggregate statistics are enabled by default. You can disable them in Profile on this device. Crash-report uploads are a separate choice in Android builds with one-time report approval; older builds may still upload automatically. You can request access, correction or deletion, and object to applicable processing atprivacy@pavlossta.com. Details follow below.
1. Local Notebooks and Optional Cloud Sync
You can use the notebook without an account. Without Google connection, your notebook content stays on your device and is not uploaded to our notebook database. Local use does not mean the App never communicates online: update checks, crash reporting, and aggregate statistics can operate without Google sign-in.
Connecting Google combines your device entries with your account's notebook and enables synchronization through Firebase Firestore. The notebook remains associated with that account after sign-out; sign-out does not erase local or cloud entries. Changes made while signed out remain local until the same account reconnects and synchronization succeeds.
Sensitive information. Tefteri is a general-purpose personal notebook, not a healthcare service. We do not request health information or other special-category personal data. You must not enter, synchronize, or send us sensitive personal data about yourself or others, including health information, racial or ethnic origin, political opinions, religious beliefs, trade-union membership, genetic data, biometric identification data, sex life or sexual orientation, or criminal convictions and offences. The App does not inspect or automatically classify your notes. If you believe you have uploaded sensitive information, delete the relevant content and contact privacy@pavlossta.comfor assistance.
2. Information Processed
2.1 Notebook and Account Data
- Notebook content: category names and icons, notes, optional details or contact information, dates, times, and reminder settings. These are stored locally and, for a connected notebook, synchronized to Firestore.
- Account information: Google/Firebase account identifiers, email, and basic profile information such as display name and photo supplied by Google. Firebase manages authentication and device session persistence. We do not receive your Google password.
- Sync information: ownership identifiers, update times, pending changes, minimal deletion markers, and operation receipts used to prevent deleted or repeated records from reappearing.
- Device settings: appearance, language, analytics choice, notebook binding, notification state, and local records of the legal-document versions shown during connection. These settings are not synchronized as notebook entries. A legal-version record is not proof of GDPR consent.
Account information is obtained from Google when you choose to connect. Notebook content is supplied by you; it may contain information about other people. Include only information you are entitled to use, subject to the sensitive-data prohibition above.
2.2 Optional Aggregate Statistics
In app versions implementing aggregate statistics, Statistics (Στατιστικά) is enabled by default. You can switch it off in Profile without losing notebook features. Existing explicit opt-outs are preserved. Your choice applies to this device, is stored locally, and is not synchronized across devices. In Android builds implementing the current statistics notice, no measurement is submitted until onboarding is complete and the notice has been acknowledged. The welcome screen shows “Στέλνονται συνολικά στατιστικά χρήσης. Απενεργοποίηση στις Ρυθμίσεις.” Existing users see a one-time notice before collection. Dismissing that notice leaves statistics paused; acknowledgement preserves any saved opt-out and is not consent for processing that legally requires consent.
When enabled, contract 3 sends only a protocol version (3), fixed counter name and app version toadmin.pavlossta.com. We count creation, editing, deletion and conversion of entries; synchronization outcomes and fixed failure categories; reminder scheduling and reconciliation; notification permission choices; sign-in, sign-out, export, device reset and account deletion outcomes; and caught root-interface errors. The server increments daily totals by counter and app version; it does not retain an individual event history for these submissions. These totals count operations and error reports, not unique users or unique incidents.
These submissions contain no persistent analytics identifier, account identifier, notebook content, category name, contact details, screen path, engagement duration, country, device profile or raw error message. We do not use these statistics to reconstruct individual journeys or join activity across launches, accounts or projects. We do not correlate these totals with account records, sync activity, crash reports or identifiable request logs. Infrastructure providers still receive network connection information, including IP addresses, so the collection process is not described as entirely anonymous.
Disabling statistics stops new submissions; a request already in transit may finish. There is no durable analytics queue. Previously received aggregate totals remain and cannot be attributed to your account. We do not use Firebase Analytics or advertising trackers for this measurement.
2.3 Crash Reporting, Updates, and Network Information
- Firebase crash diagnostics: In Android builds implementing one-time report approval, automatic crash-report uploads are disabled. The SDK can capture and store technical reports locally before approval. After reopening the App, you may be asked to send the pending batch through Google Firebase. “Αποστολή” approves only that batch; “Όχι” deletes it, and dismissing sends and deletes nothing. Future batches require a new choice. Reports can include error traces, device/operating-system information and installation/session identifiers; they are separate from aggregate statistics. Custom handled reports remove raw messages and use allowlisted diagnostic values; automatic SDK reports have their own technical content. The statistics switch does not control this upload choice. Older distributed builds may still upload reports automatically. The new startup upload gate requires a new Android build and cannot be delivered solely through a JavaScript update.
- Firebase Remote Config: installation identifiers, country and language codes, time zone, app/SDK/operating-system versions, and technical request information support fetching app-update requirements and configuration. Applicable rollout metadata can also appear in crash reports. This is separate from product statistics.
- Network information: providers receive connection information, including IP addresses, when the App accesses their services. This may be used for routing, security, and abuse prevention. Our analytics event schema does not store raw IP addresses or precise location.
The statistics switch does not disable local diagnostic capture, Remote Config, authentication, or synchronization. We do not request your contact list or precise device location.
2.4 Support and User-Initiated Sharing
If you email us, we process your email address, message, and any information you choose to include to answer the request. Do not send sensitive personal data, passwords, or tokens. Support email is forwarded through ImprovMX to a Gmail mailbox.
If you choose the App's feedback link, Google Forms processes the ratings, bug reports, suggestions, and optional name/email you submit. We use this feedback to answer questions, diagnose problems, and improve Tefteri. Do not include sensitive personal data or notebook content in feedback. Google also processes technical information under its own privacy terms.
Profile's Export data (Εξαγωγή δεδομένων) creates a JSON copy of the current device notebook, including locally pending changes, and opens the system share interface. A calendar action opens an event with its title and date/time in the device's calendar interface; it does not copy the note's additional details. If you save or share these copies, the recipient or calendar provider handles them under its own practices. Tefteri account deletion does not erase those independent copies.
Reminders are scheduled locally, subject to device notification permission. Notification text can appear on the lock screen according to your device settings. We do not collect an Expo push token for these local reminders. Device permission is not, by itself, GDPR consent for unrelated processing.
2.5 This Documentation Website
The Tefteri documentation pages do not run visitor analytics, create analytics identifiers, or track reading time, navigation, or email-link clicks. This is separate from the App's optional statistics and technical services described above.
Vercel hosts these pages and processes technical request information, such as IP addresses, requested URLs, and request times, to deliver and secure the website. We use hosting diagnostics and availability or link checks to maintain access to these documents. Technical logs follow the hosting provider's applicable retention settings and processes. Other pages on pavlossta.com are covered by thewebsite privacy notice.
3. Purposes and Legal Bases
Where the GDPR applies, the purposes and bases are:
- Contract: account authentication, the cloud notebook and sync you request, and related service support. Google sign-in is optional; without the necessary account data we cannot provide cloud sync, but local notebook use remains available.
- Legitimate interests: understanding which notebook features are used and identifying reliability problems so we can improve the App. We limit this measurement to aggregate operation counts by app version, without persistent analytics identifiers or notebook content. You may object using the Statistics control in Profile; we honor this by stopping new submissions. Where applicable device-access law requires consent, this collection must remain disabled until valid consent is obtained.
- Legitimate interests: protecting accounts and infrastructure against misuse, diagnosing failures, maintaining service reliability, providing update information, handling general inquiries, and defending legal claims. These interests must be assessed against your rights, with limited technical data and content filtering. You can object where this basis applies.
- Consent: voluntary upload of a pending diagnostic batch in builds offering one-time report approval. Approval covers that batch, not future reports. Local diagnostic capture and other SDK processing must be assessed separately; the upload choice does not provide blanket consent for them.
- Legal obligation: responding to valid legal requirements and fulfilling applicable data-protection duties.
We do not rely on ordinary notebook entry, Google connection, or notification permission as explicit consent for special-category data. We do not make solely automated decisions producing legal or similarly significant effects about you, or profile your notebook content. Swiss data-protection law applies where relevant; this notice does not imply that Swiss law uses the same legal-basis framework as the GDPR.
4. Recipients and Service Providers
We do not sell personal data or share it with advertisers or data brokers.
- Google/Firebase: Authentication, Firestore, Crashlytics, and Remote Config provide the functions described above. Firebase generally processes service data on our behalf under its applicable data-processing terms. Google also has its own role and privacy terms for your Google account.
- Analytics and delivery infrastructure: our analytics backend is hosted on Vercel and uses a hosted PostgreSQL database. Infrastructure providers process the data needed to host, transmit, and secure these services. Expo's update-delivery infrastructure can process technical connection information when the App checks for or downloads updates.
- Email and feedback services: ImprovMX forwards support email to Gmail, operated by Google. These providers process correspondence for support and rights requests. Google Forms hosts the optional feedback form and its responses.
- Chosen recipients: recipients you select through export/sharing and your calendar provider receive the information you choose to save or share.
- Authorities and legal advisers: only where necessary for applicable legal obligations or the establishment, exercise, or defense of legal claims.
Any change of service operator or transfer of service data must have a lawful basis, preserve applicable protections, and be explained to affected users. It does not authorize unrestricted new uses of your notebook.
5. International Transfers
Some providers process data outside Greece or the EEA, including in the United States. A European database location does not mean all authentication, diagnostic, update, or support processing stays in Europe. Google's published transfer arrangements include the EU–US Data Privacy Framework for eligible entities and applicable contractual safeguards. See Firebase's privacy and security information.
Transfers must be covered by an applicable adequacy decision or appropriate safeguards, such as the European Commission's Standard Contractual Clauses, with supplementary measures where required. Contact us for the provider/location information and safeguards applicable to your data, including how to obtain a copy with confidential details redacted where necessary.
6. Retention and Deletion
- Local notebook: content remains on the device until you delete it or clear the applicable notebook/app data. Sign-out alone does not erase it.
- Cloud account and notebook: active content is kept while your account exists, unless deleted sooner. Deleting an entry removes its content after successful sync; minimal deletion markers and sync receipts may remain until account deletion so older devices cannot recreate deleted entries.
- Product analytics: daily aggregate counters and historical raw Tefteri events are scheduled for removal from the live analytics database after 12 calendar months, with daily cleanup. Allow up to one cleanup interval; we investigate failed jobs and remove overdue records. Provider backups follow their separately configured deletion lifecycle.
- Crashlytics: Google documents a 90-day retention period for crash traces and associated identifiers before removal from live and backup systems begins.
- Firebase authentication and installations: provider security logs and identifiers have separate lifecycles. Google documents removal of deleted authentication information from live and backup systems within 180 days; deleting an account does not automatically delete every installation identifier.
- Correspondence and feedback: retained for as long as needed to handle the request or feedback and any related follow-up. Necessary rights-request, notice, or dispute records may be retained to demonstrate compliance or resolve a claim, restricted to that purpose. No fixed mailbox or feedback expiry period is currently specified; you can request deletion subject to applicable exceptions.
Account deletion in Profile requires account verification and removes the account's notebook records and sync metadata from the live Firestore database, deletes the Firebase account, and clears readable records belonging to that notebook on the current device. Unreadable recovery data with unknown ownership may remain; Android's clear-storage action removes the installation's remaining app data. Failures may require retry or assistance. If you cannot use the App, follow theAccount Deletion instructions or email us. Deleting a Google-connected Tefteri account does not delete your Google account.
Other devices may retain local copies until you clear them. Exports and saved calendar events are independent copies. Analytics and crash records are not automatically linked to your account for deletion. We assess separately identifiable records when handling a request; we do not collect extra identifying data merely to reidentify unrelated telemetry. We do not maintain custom cloud-notebook backups. Provider-managed recovery copies and records subject to necessary legal retention may take longer to expire than live account deletion. Retained copies must not be used as an active notebook or restored without reapplying deletions.
7. Your Rights and How to Exercise Them
Subject to the applicable conditions, you can request access, correction, erasure, restriction, and portability of personal data, withdraw consent, and object to processing based on legitimate interests. These rights are not absolute; we explain any applicable exception and your options. The JSON export is a convenient notebook copy, not a substitute for requesting other personal data we hold.
Email privacy@pavlossta.com. We may request proportionate information to verify your identity if reasonably necessary. GDPR requests are normally free, and we respond without undue delay and within one month of receipt. If a permitted extension is needed because of complexity or the number of requests, we explain it within that first month; the extension can be up to two additional months.
You can complain to theHellenic Data Protection Authorityor another competent authority, including in your place of habitual residence, work, or the alleged infringement. You can also pursue applicable judicial remedies. The Data Protection Notice provides supplementary information.
8. Security
We use encrypted connections to online services, authenticated ownership checks in Firestore rules, owner-scoped sync, and limited diagnostic metadata. Authentication sessions are managed by Firebase. Device notebook records use app-local AsyncStorage; a separate SecureStore adapter is used for selected stored values and has an AsyncStorage fallback. the App does not provide end-to-end encryption for cloud notebook content or a separate notebook-encryption guarantee. Authorized operation of the cloud service can involve access to server-side data.
Protect your device and Google account, review lock-screen settings, and handle exported files carefully. No transmission or storage method is completely secure.
9. Children
Tefteri is intended for people aged 15 and older. We do not knowingly collect personal data from children under 15; contact us if you believe this has happened. This policy is not an age-verification mechanism and does not override local parental-authorization or valid-consent requirements. Any processing requiring consent must meet the applicable age and authorization requirements.
10. Changes to This Notice
We publish revisions on this website, which the App links to, and identify each version by its date. For material changes affecting connected users, we provide account-email notice before the change where practicable; urgent legal or security changes may require earlier action with notice as soon as practicable. We do not promise a changed-policy in-app alert in existing app versions. New processing that requires consent will not begin merely because this page changes: the appropriate consent must be obtained first.
The aggregate statistics described here apply to app versions implementing this revision. Older installed versions may still send individual events with a persistent random identifier; their Profile control can be used to disable it.
11. Contact
Pavlos Stathopoulos
Athens, Greece
Privacy and rights requests:privacy@pavlossta.com
Support: support@pavlossta.com