Chatstronomy

These terms of service govern self-hosted Chatstronomy.

This document was last updated on 31 August 2026.

These terms cover only the Chatstronomy software you run on your own computer. That self-hosted application has no account to sign up for. The separately operated Chatstronomy Hub is governed by its own hosted Hub terms and hosted Hub privacy policy.

1. Chatstronomy is a telemetry and control integration for telescopes.

Chatstronomy is a chat bot designed for telescope integration. The software monitors a N.I.N.A. imaging session and posts selected status updates, including image captures and autofocus results, to Discord or Matrix. When explicitly approved in N.I.N.A., a local Discord bot can also relay equipment-control slash commands.

You are responsible for installing the software, supplying the Discord bot token or Matrix credentials, and configuring the connection to your equipment. The software runs locally under your control, on your hardware and network. For the self-hosted version covered by these terms, no data is routed through servers operated by us.

The separately managed Chatstronomy Hub coordinates connections across multiple observatories and routes telemetry through a hosted service. Its hosted terms and hosted privacy policy explain the applicable service conditions, data storage, and retention practices.

The source code is published under the Apache License 2.0 at github.com/theatrus/chatstronomy. Those license terms govern the software itself, whereas these terms govern your use of the application.

2. We do not collect or store user data.

The self-hosted application does not communicate with our servers, so we do not collect or store its user information. It does not send developer telemetry, application analytics, or crash reports; require a license check; or create a project-operated account. Observatory updates you choose to share still go directly to your configured Discord or Matrix service.

Local configuration includes N.I.N.A. profile settings, protected credentials in Windows Credential Manager, and a small state file that tracks active chat message identifiers. Removing the application does not necessarily remove its profile, credential-store entries, state, or logs; remove those separately when appropriate. Content already sent to Discord or Matrix is managed by that service. See the self-hosted privacy policy for details.

3. The application transmits telemetry data to third-party chat services.

Most ordinary event categories, images, and N.I.N.A. popup notifications start enabled. Meaningful weather changes, high-wind alerts, slew start/end diagnostics, and rotator move start/end diagnostics have independent controls and all start disabled. Review every setting in N.I.N.A. before starting a local runtime. Disabled event categories never reach the runtime, including previously buffered records; events captured while disabled are not released when a category is re-enabled. No background state-maintenance exception bypasses these settings. Disabling images also prevents image history, thumbnails, previews, and explicit last-image requests. Equipment-status snapshots and other permitted non-image queries can remain available. Raw N.I.N.A. logs are disabled unless you explicitly enable individual log levels. Once N.I.N.A. accepts a locally permitted command, its terminal failure is always delivered as part of that command exchange and is not controlled by optional event switches.

When enabled, motion diagnostics watch live N.I.N.A. state. When both moving and idle edges are observed, the plugin pairs them and reports the interval between them. Slew records include a requested target when N.I.N.A. provides one and observed moving and idle RA/Dec positions; state-observed start/end altitude and azimuth remain subject to the local location-sharing setting. N.I.N.A. does not expose the requested rotator target at its public start-state boundary. State-observed rotator starts report available sky and mechanical angles; a recovered start carries the callback's available logical or mechanical From angle. An ordinary ended record means N.I.N.A. first reported the device idle, not that settling finished or the operation succeeded. If a short move completes between live updates, Chatstronomy reconstructs the pair from N.I.N.A.'s completion callback, marks the capture as Recovered after motion began, and omits a duration it could not observe. A recovered mount start contains callback RA/Dec but no historical altitude or azimuth because the callback has no start timestamp; its end uses the available live idle snapshot. Neither recovery record implies success.

When enabled, meaningful weather-change notifications group qualifying numeric readings and rate-limit posts. The separate high-wind option checks wind speed or gusts against the threshold you set in meters per second and reports both alert and recovery transitions. General weather-change posts may contain numeric temperature, dew-point, humidity, pressure, cloud, rain, wind, sky, and seeing data. High-wind records contain only wind speed, gust, threshold, and alert state and may resynchronize an active alert after reconnecting or changing the threshold. Neither includes the weather station's name or device or driver identifiers.

Permitted updates travel directly to your configured Discord or Matrix service and are governed by that service's terms. We cannot access, retrieve, or delete content posted by a self-hosted runtime. The plugin does not disclose observatory coordinates or location-derived mount data unless location sharing is explicitly enabled in N.I.N.A.; hardware device and driver identifiers remain redacted.

Assume other users may view a shared chat channel or Matrix room, and that its membership can change. Image contents, capture metadata, celestial target coordinates, equipment display names, notifications, and optional logs may still reveal sensitive information. You are responsible for deciding what to send and where to send it.

Your usage of Discord is governed by the Discord Terms of Service, and your usage of Matrix is subject to the terms of your selected homeserver.

4. Telescope control features present security and operational risks.

Hardware control and every individual command are disabled by default. A physical operation requires both the N.I.N.A. hardware-control master switch and that exact command's individual permission. Enabling the master switch alone grants no equipment access.

Monitoring and read-only status commands remain available without hardware permissions. Approved operations can include parking or unparking a mount, changing filters, guiding, camera cooling, autofocus, aborting captures, and starting or stopping imaging sequences. Skipping sequence validation requires its own additional local permission. Disable the master switch to immediately return the N.I.N.A. profile to monitoring-only operation. Accepting an asynchronous command does not mean that its hardware operation completed. If it later fails, the plugin reports that terminal failure to the configured chat as part of the command exchange.

Additional safeguards narrow access but cannot override the permissions configured in N.I.N.A.:

These safeguards do not eliminate the fundamental risk: the safety of enabled equipment operations depends on the security of your N.I.N.A. computer, Discord accounts, configured server and channel, and bot credentials. A compromised authorized account can still request commands permitted by both the Discord checks and your local N.I.N.A. settings.

You must evaluate the potential consequences of incorrect command execution on your specific hardware. Unwanted mount movements, such as slewing or unparking, can cause physical collisions, cable wraps, or optical damage. Aborting a capture or stopping a sequence can result in data loss or lost imaging time. The chat interface has no awareness of local physical conditions, such as roof status, daylight, or local personnel.

Enable only the individual operations whose risks you accept. Limit server management access or an explicit allowlist to essential accounts, secure those accounts, and configure independent horizon limits, meridian limits, roof interlocks, and emergency stops. Chat permissions are not a physical safety system.

Weather readings and chat notifications are informational and are not a safety system. They can be delayed, missing, or inaccurate because of sensors, N.I.N.A., the plugin, the network, or the configured chat service. Maintain independent weather monitoring, physical interlocks, and emergency procedures.

5. The software is provided without warranty of any kind.

As set forth in the Apache License 2.0, Chatstronomy is provided on an "as is" basis, without warranties or conditions of any kind. This software is an independent, unofficial project and is not affiliated with, authorized by, or associated with N.I.N.A., Discord, or Matrix.

To the maximum extent permitted by law, we disclaim all liability for physical damage to equipment, lost imaging time, lost or exposed data, or any other operational or financial loss resulting from the use of this software, including any issues arising from enabling telescope control features. You assume all responsibility and risk associated with operating the software.

Nothing in these terms limits liability where such limitation is prohibited by applicable law.

6. Users must comply with acceptable use policies.

You must not use Chatstronomy to operate any equipment that you are not authorized to control. Additionally, you must not use the software in a manner that violates the terms of service of any connected chat platform.

7. These terms of service may be updated.

These terms of service may be updated periodically to reflect changes to the software. The date at the top of this document indicates when it was last modified, and the revision history is publicly accessible in the website repository. Since the self-hosted application does not maintain user accounts, we cannot provide direct notifications. You are responsible for periodically reviewing this page to monitor updates.

8. Technical questions can be submitted through the project tracker.

You can submit general inquiries, technical questions, and security concerns through the project's issue tracker.