Legal

Privacy Policy

Last updated July 22, 2026

This Privacy Policy describes how Prysm ("Prysm," "we," "us," or "our") collects, uses, stores, and discloses information when you use the Prysm platform at prysm.astroyds.com and any associated APIs (the "Service"). It is written to match how the Service is actually built, not a generic template — every section below reflects a real, specific mechanism in the product.

If you are an individual using the Service on behalf of an organization ("Organization"), this policy applies to your use, and your Organization's administrators may also be able to access, export, or delete data associated with your account within that Organization, as described below.

1. Who We Are and How to Contact Us

Prysm is operated by Nolan Idle , located in Maple Grove, Hennepin County, Minnesota. For any privacy question, data request, or complaint, contact us at nolanidle@gmail.com.

2. Information We Collect

2.1 Account and Organization information

  • Account details: name, email address, and a salted/hashed password (we never store your password in plain text).
  • Organization data: the Organizations you create or are invited to, your role within each (owner, admin, member, or viewer), and invite records (email address, inviter, expiry).
  • Sessions: a signed, HTTP-only, strictly same-site session cookie tied to a server-side session record (creation time, expiry, revocation status, and — for security purposes — the IP address and user agent associated with that session).
  • Login activity: timestamps of login attempts (including failed attempts) to support account lockout and abuse prevention.

2.2 Content you create or import

  • Spreadsheets and sheets: cell data, formulas, formatting, and version history you create directly or import.
  • Mapping graphs: the configuration of data-movement pipelines you build between sources.
  • Scripts: source code you write, its declared capabilities, and execution logs (inputs, outputs, timing, and errors) when a script runs or is invoked as a published HTTP endpoint.
  • Data contracts and documentation: schemas, validation rules, contract violation records, and documentation content (including version history) you author.
  • Files: any file you upload for use as a data source.
  • Conversations with Juno: prompts you send to our AI assistant, the tool calls it makes on your behalf, and its responses, retained as part of your Organization's conversation history.

2.3 Connections to external data sources

The Service lets you connect external systems as data sources ("Connections"). Depending on the connector type, we process:

  • MySQL / PostgreSQL: host, port, database name, username, and password, encrypted at rest and used only to establish an outbound, TLS-secured connection to the database you specify.
  • REST API: an endpoint URL and, optionally, a bearer token or API key you provide, encrypted at rest.
  • Google Sheets: an OAuth 2.0 access token and refresh token issued by Google after you grant consent, encrypted at rest, scoped to the Google Sheets API only. We do not receive or store your Google account password.
  • Microsoft Excel (via Microsoft Entra ID): an OAuth 2.0 access token and refresh token issued by Microsoft after you grant consent, encrypted at rest, scoped to Microsoft Graph's workbook file API only. We do not receive or store your Microsoft account password.

For database connections, we also perform a network-level check on the destination host to block requests to private or internal IP ranges by default (a security measure described in Section 6); an Organization administrator can disable this restriction for legitimate internally-hosted databases.

When you enable live mode on a database or REST connection, edits you make to the corresponding spreadsheet are written back to the source system in real time. When you use push/pull for Google Sheets or Excel connections, we transmit or retrieve the full contents of the sheet you selected, subject to a rate limit of one push and one pull operation per minute per connection.

2.4 Payment information

If the Service offers paid plans, payment is processed by a third-party payment processor. We do not store your full payment card number; the processor provides us only with limited billing metadata (e.g., plan tier, transaction status, last four digits of a card) necessary to administer your subscription. (Placeholder — update this section to name your actual payment processor once one is integrated.)

2.5 Information collected automatically

  • Usage and diagnostic logs: request logs, error logs, and audit log entries recording actions such as sign-in, resource creation/deletion, permission changes, and connection tests — used for security, debugging, and abuse prevention.
  • Cookies: we use a single essential session cookie to keep you signed in. We do not use third-party advertising or tracking cookies.

3. How We Use Information

We use the information described above to:

  1. Provide, operate, and maintain the Service, including spreadsheet recalculation, mapping execution, script execution, data contract validation, and Connection synchronization.
  2. Authenticate you, maintain your session, and enforce Organization-level access control.
  3. Operate Juno, our AI assistant — see Section 5 for how your data is used in that context specifically.
  4. Send transactional email: email verification, password reset, and Organization invitations. We do not send marketing email based on this data without separate consent.
  5. Detect, investigate, and prevent security incidents, fraud, and abuse (e.g., login rate limiting, blocking connections to internal network ranges).
  6. Maintain the reliability of the Service — for example, our systems periodically purge rows that exist only for a bounded operational window (expired sessions, spent rate-limit counters, abandoned draft connections) to keep the platform fast; this is routine housekeeping, not a mechanism for retaining data longer than necessary.
  7. Comply with legal obligations and enforce our Terms of Service.

4. How We Share Information

We do not sell your personal information. We share information only in the following circumstances:

  • With your Organization: content you create inside an Organization (spreadsheets, mappings, scripts, contracts, documentation) is visible to other members of that Organization according to their role, because that is the explicit purpose of a shared, multi-tenant workspace.
  • With the external services you connect: if you configure a Connection (MySQL, PostgreSQL, a REST API, Google Sheets, or Microsoft Excel), the data you choose to import, push, pull, or live-write is necessarily transmitted to or from that external system. You control which systems are connected and can disconnect them at any time.
  • With subprocessors who help us run the Service, currently:
    • Ollama — provides the large-language-model inference that powers Juno. Prompts, current-resource context, and tool-call results you send to Juno are transmitted to this provider for the sole purpose of generating a response.
    • An SMTP email provider — used solely to deliver verification, password-reset, and invitation emails.
    • Google and Microsoft — only if and when you authorize a Google Sheets or Excel connection, for the sole purpose of that integration. Each subprocessor is contractually limited to using data only to provide their service to us.
  • For legal reasons: if required by law, subpoena, or other legal process, or to protect the rights, property, or safety of Prysm, our users, or the public.
  • In a business transfer: if Prysm is involved in a merger, acquisition, or asset sale, information may be transferred as part of that transaction, subject to this Policy or a materially equivalent one.

5. Juno (AI Assistant) and Your Data

Juno is an agentic assistant with tool-calling access to your Organization's resources (spreadsheets, mappings, scripts, contracts, documentation, connections). When you interact with Juno:

  • Your prompt, relevant context about your currently open resource, and the results of any tool calls Juno makes are sent to our model provider to generate the next response.
  • Juno's tools operate strictly within your session's Organization and role — it cannot read or modify another Organization's data, and any action tagged as destructive (e.g., deleting a resource, running a script, running a contract check) always pauses for your explicit human approval before executing, regardless of your configured automation mode.
  • Conversation history is retained as part of your Organization's data (see Section 8) so that you and your teammates can review or continue past conversations.
  • We do not use your conversation content, spreadsheet data, or connected-source data to train foundation models operated by third parties.

6. Security

We use industry-standard measures appropriate to the sensitivity of the data involved, including:

  • Encryption at rest: database passwords, API tokens, and OAuth refresh/access tokens are encrypted using AES-256-GCM before being stored; they are never returned to the browser once saved.
  • Encryption in transit: connections to the Service use TLS. Outbound connections we make to your MySQL/PostgreSQL databases use TLS by default (an Organization admin may disable this only for a database that does not support it, e.g., local/dev use).
  • Network-level SSRF protection: outbound requests the Service makes on your behalf to a database or API host are checked against private, loopback, and link-local IP ranges and blocked by default, closing off a class of attack where a malicious or misconfigured hostname could be used to reach internal infrastructure.
  • Session security: session cookies are HTTP-only and strictly same-site, limiting exposure to script injection and cross-site request forgery.
  • Access control: every resource is scoped to a single Organization and every request is authorized against your role in that Organization before any data is read or written.
  • Audit logging: security-relevant actions (sign-ins, permission changes, connection creation/testing/deletion, destructive AI actions) are recorded in an audit log.

No method of transmission or storage is 100% secure, and we cannot guarantee absolute security.

7. Your Rights and Choices

Depending on your location, you may have the right to:

  • Access the personal information we hold about you.
  • Correct inaccurate information (most account fields are editable directly in Settings).
  • Delete your account and associated personal information, subject to the retention needs described in Section 8 (e.g., completing legal obligations, resolving disputes, enforcing agreements).
  • Export content you created (spreadsheets, documentation, etc.) — the Service supports exporting spreadsheet data directly.
  • Withdraw consent for a specific Connection at any time by disconnecting it, which stops any further synchronization and removes the stored credentials for that connection.
  • Object to or restrict certain processing, where applicable law provides that right.

To exercise any of these rights, contact us at nolanidle@gmail.com. We may need to verify your identity before acting on a request. If you are a member of an Organization, some rights (e.g., deleting Organization-owned content) may need to be exercised by an Organization owner or administrator instead, since that content is shared workspace data rather than solely yours.

8. Data Retention

We retain personal information for as long as your account is active or as needed to provide the Service, and thereafter for as long as necessary to comply with legal obligations, resolve disputes, and enforce our agreements. Specific automated retention rules currently in effect include:

  • Expired or revoked sessions are retained briefly for security forensics, then removed.
  • Spent email-verification and password-reset tokens are retained briefly for support purposes, then removed.
  • Rate-limiting and login-attempt records are retained only as long as they can still affect a security decision (e.g., account lockout), then removed.
  • A Connection wizard that is started but never completed (for example, an OAuth sign-in that is never followed by an actual data import) does not create a lasting, active connection — the incomplete draft is discarded automatically.

Content you deliberately delete (a spreadsheet, a script, a documentation page, a Connection) is removed from the active database; associated cascading records (e.g., a Connection's imported-sheet links) are removed at the same time.

9. International Data Transfers

The Service may be hosted and operated from, and your information may be transferred to and processed in, a country other than the one in which you reside. Where required, we rely on appropriate safeguards (such as standard contractual clauses) for such transfers. (Placeholder — confirm hosting jurisdiction and applicable transfer mechanism.)

10. Children's Privacy

The Service is not directed to children under 16, and we do not knowingly collect personal information from children under that age. If you believe a child has provided us with personal information, contact us and we will take steps to delete it.

11. Changes to This Policy

We may update this Privacy Policy from time to time. If we make material changes, we will update the "Last updated" date below and, where appropriate, provide additional notice (such as an email or an in-app notice). Continued use of the Service after a change becomes effective constitutes acceptance of the revised policy.

12. Contact Us

Questions, requests, or complaints about this Privacy Policy or our data practices can be sent to nolanidle@gmail.com.