Privacy

Your schedule stays in the browser by default.

The public playground

The playground needs no account or API key. It reads pasted text and selected files in the browser, keeps the data in memory while you review it, and creates downloads in your browser. It does not save timetable content in browser storage or send it to a parse endpoint.

The sample timetable, screenshots, and public fixtures use fictional or synthetic data. Do not paste a real schedule into a public issue or screenshot.

What the playground reads

  • Text and CSV are decoded in the browser and passed to the local deterministic parser.
  • PNG, JPEG, and WebP files use a local browser OCR provider.
  • PDF files use a local PDF reader. Text-free pages can use the local OCR provider.
  • Before processing, the playground checks the file name, type, byte size, and image dimensions.

A pasted URL remains text. The playground does not fetch a URL that appears in a schedule.

Remote recovery is opt-in

The public playground has no remote recovery provider configured. Turning on its recovery control cannot send your schedule anywhere. The playground reports that recovery is unavailable when a provider is needed.

A different host can add a recovery provider, but the host must setallowRemoteRecovery: true and the request must set both recoveryenabled and consent to true. The provider receives bounded unresolved fields, not an unrestricted copy of the input. The host must explain the provider's data handling and keep a local fallback.

Third-party providers can have their own retention and processing rules. Read those rules before you enable a remote provider. See the provider guide for setup and data-handling details.

What each component receives

  • The core parser receives text, CSV, or typed binary input. It does not fetch URLs or persist input.
  • An extraction provider receives the selected input and bounded processing context. It returns structured text and evidence.
  • A recovery provider receives only the unresolved fields that the host selected after consent. Its response is schema-validated.
  • Exports are created as browser downloads namedtimetable.json, timetable.csv, ortimetable.ics.

Schedule text and extracted file content are data. The application does not execute imported content as code.

When you build an integration

Treat schedule text, files, OCR output, filenames, and source evidence as private input. Keep them out of logs and analytics. Set resource limits, pass cancellation through providers, validate provider output, and delete temporary provider resources after the operation.

Use synthetic or redacted inputs in tests, examples, bug reports, and screenshots. Read the full privacy model and the security page before you add a provider.