1. Who we are and what this policy covers
FireFunc turns work from the tools a team already uses — tickets, alerts, designs, messages — into finished work, with agents that run under the team’s own AI accounts: on its own machines, or in an AI vendor’s cloud if the team chooses. It is operated by SoftHawker LLC (“SoftHawker”, “we”, “us”), which operates FireFunc until FireFunc is incorporated. SoftHawker LLC is a limited liability company organized under the laws of the State of Delaware.
This policy covers the website at firefunc.com, the FireFunc application you sign in to, the early access form, and the FireFunc runner that a customer installs on its own machines. It explains what personal data we collect, why, how long we keep it, and what you can ask us to do with it.
FireFunc is a service for businesses, used by people aged 18 or over. It is not meant for personal, family or household use.
2. Our two roles
Where we decide. For your account, the early access form, and the records we keep to run and secure FireFunc, SoftHawker decides why and how the data is used. We are the controller of that data, and this policy describes what we do with it.
Where a customer decides. A customer — the business that holds a FireFunc workspace — routes its own data through FireFunc: tickets, alerts, pull request details, messages, and what its agents did. For that data the customer is the controller and we are its processor. We process it only to provide FireFunc to that customer and on its instructions, under the Data Processing Addendum, which forms part of our Terms of Service.
If your details appear in a customer’s data — for example, you filed a ticket in a company’s Jira and the company connected Jira to FireFunc — please contact that company: it decides what happens to the data. If you write to us instead, we will pass your request to the customer when we can tell which one it concerns, and help it answer you.
3. What we collect
3.1 Your account
Accounts are opened by invitation. When you accept one, Amazon Cognito, our sign-in service, keeps your email address, what it needs to check your password, and the key for your authenticator app if you set up multi-factor authentication. It also sends the emails that confirm your address and reset your password. Your password passes through FireFunc to Cognito over an encrypted connection; FireFunc does not log it or store it.
FireFunc keeps your email address and name, the organization and workspaces you belong to, your roles and seat, and the settings you choose. When someone invites you, we keep the invitation: your email address, who sent it, which workspace and role it offers, and whether it was accepted, revoked or expired.
3.2 The early access form
We keep what you type: your email address, your name, and anything else you choose to tell us — your company, team size, the tools and coding agents you use, and a note. We also note which button brought you to the form.
To stop spam, your browser solves a small computing puzzle before it sends the form (the puzzle holds nothing about you), and we count requests per network. For that count we store a keyed hash of your network address — for an IPv6 address, of the /64 network it belongs to — never the address itself.
The first time a request arrives, its details are emailed to the FireFunc team. The form sends nothing to the address you typed, so it cannot be used to email anyone else; when we reply, a person on our team writes to you.
3.3 Audit records
When someone makes a change in FireFunc — pairs a machine, edits an agent, changes a person’s role — the audit log records who did it, what changed and when, together with the browser’s user agent and a one-way hash of the IP address the request came from.
3.4 Technical logs
Our servers write operational logs: which request was made, when, what happened, and the details of any error. When a web address is written to a log, secret values in it, such as tokens, are removed first. We use these logs to keep FireFunc running, to fix faults and to investigate abuse.
3.5 Approvals from Slack
If your workspace connects Slack and you press Approve or Reject on a FireFunc message, Slack identifies you to us only by your Slack user ID. The first time, FireFunc replies with a one-time link; opening it while signed in to FireFunc links your Slack user ID and your Slack workspace’s ID to your FireFunc account, so later presses are recorded as yours. We keep those two IDs. We do not ask Slack for your email address.
3.6 Data a customer sends through FireFunc
We process the following for the customer whose workspace it belongs to, as described in Our two roles:
- Tickets and messages from the tools the customer connects: titles, descriptions, comments, labels, assignees, and the attachments people add. Images and PDFs are stored; other files are kept as a link to where they live.
- From GitHub: repository names, pull request and issue numbers, titles and bodies, branch names, commit messages, the paths of changed files and how many lines changed, the names and results of CI checks, and review verdicts and review comments.
- From Sentry: issues and events as Sentry sends them — the title, the error type, the file, function and line where the error happened, and the tags, context and user details the customer’s Sentry project records — but not the source lines or local variables.
- Webhook deliveries: whatever a customer’s systems send to its FireFunc webhook addresses, stored as it was sent.
- Each run: the task brief FireFunc writes for the agent; what started the run (the tool event, the person or the agent, named as the tool or FireFunc names them) and the first line of what it was asked (a person’s instruction, the task’s own text or a hand-off’s note) — with, when someone asked in a comment, that comment’s link, its author and when it was written; the run’s status, branch and pull request link, and, if it failed, the reason in one line; each step it took, as one line (a file path, a command’s name, a tool’s name, the website it visited or the search it made, or a remark from the agent) — never a command’s arguments, a file’s contents or a command’s output; the summary the agent wrote at the end; the verdict it reported, as one word from the set its agent declares, and each thing it reported finding, as a one-line title with a severity and, when it gave one, a link; and, from a paired machine, what the run used as its engine counted it — the tokens each model used, the turns, how long it took, the engine’s own estimate of their price (an estimate, not a bill), whether the engine was signed in to a plan or an API key and whether the plan drew on its extra usage, the engine’s version, and the plan’s usage readings when the engine reports them. Code is removed from the first line of what it was asked and from each finding’s title before FireFunc stores them, and from the summary, the reason and the steps a paired machine reports before FireFunc stores them.
- Runs on an engine in its vendor’s cloud — GitHub Copilot’s coding agent, Cursor’s cloud agents or a Claude Code routine, if a customer chooses one: FireFunc sends the vendor the brief, and keeps what the engine reports back: its status, branch and pull request link, and the words the agent wrote — its summary, its reasoning and, if it failed, why. Code is removed from those words before FireFunc stores them, and each removed block is marked “[code left out]”.
- Credentials for the tools a customer connects, and the keys it gives FireFunc for an engine in its vendor’s cloud, kept encrypted in AWS Systems Manager Parameter Store under AWS Key Management Service keys. The tokens a tool issues when it is connected never leave FireFunc, except to that tool. A run on a paired machine is given only what it needs: a GitHub token FireFunc issues for that run, limited to one repository and expiring within the hour, and a second, read-only one for the same repository if the agent may use GitHub’s MCP server; a pass for FireFunc’s own tool endpoint; and the credential an organization entered or signed in with for an MCP server the agent uses.
3.7 Machines a customer pairs
A customer pairs its own computers with a workspace by installing the FireFunc runner. For each machine we keep which member paired it, and what the runner reports: the machine’s host name, its operating system, the runner’s version, which AI engines are installed, how much of an engine’s usage allowance is used where the runner can read it, and the names, states and expiry times of the sign-ins it holds for tools — never the tokens themselves.
3.8 What never reaches FireFunc
- The repository. FireFunc never clones, fetches or stores a repository. An agent on a paired machine works in a checkout there. The parts of tool events that carry code — the diff around a review comment, the output of a CI check, the source lines and variables in a Sentry stack trace — are removed before an event is stored. What people write into a ticket, comment or message is kept as they wrote it, code included.
- What happens on the machine: file contents, diffs, command output and the engine’s own transcript. The check for secrets in an agent’s changes runs on the machine too, so the changes are never sent to us to be checked.
- The conversation with the AI vendor. FireFunc writes the brief an engine starts from; everything after that goes from the machine to the vendor, under the customer’s own account with that vendor. An engine in its vendor’s cloud works there, on the customer’s account, and FireFunc sees only what it reports back.
- The keys and sign-ins the engines and tools use on the machine.
4. How we use it, and why we are allowed to
Where the EU or UK General Data Protection Regulation applies, each use needs a legal basis. These are ours:
| What we do | With | Legal basis |
|---|---|---|
| Open and run your account, sign you in, and keep it secure | Your account | Performing our contract with you; where the contract is with your employer, our legitimate interest in providing the service it chose |
| Provide FireFunc to a customer: run its agents, show what they did, send the notifications it switches on | Data a customer sends through FireFunc | We act for the customer under the DPA; the customer decides the legal basis |
| Consider an early access request and reply to it | The early access form | Steps you asked us to take before a contract; our legitimate interest in answering |
| Stop spam and abuse of the form | The hashed network address | Our legitimate interest in keeping the form usable |
| Keep FireFunc secure, investigate incidents, and keep the record customers rely on | Audit records and technical logs | Our legitimate interest, and our customers’, in a secure service |
| Fix faults and keep FireFunc reliable | Technical logs | Our legitimate interest in a working service |
| Tell you about changes to FireFunc or to these policies, and answer when you write | Your email address and what you write | Performing our contract; our legitimate interest in keeping you informed |
| Meet legal obligations and enforce our terms | What the matter requires | Legal obligation; our legitimate interest in defending our rights |
We do not use personal data for advertising, we do not build profiles of you, and we make no decisions about you by automated means that have legal or similarly significant effects. FireFunc runs no AI models, so nothing you send us is used to train one. The AI engines run under the customer’s own accounts with their vendors, whose terms say what those vendors do with data.
6. Where it is stored, and transfers
Everything the FireFunc service stores, including backups, is held with Amazon Web Services in one region: us-east-1, in Northern Virginia, United States. Messages you send to admin@firefunc.com, and early access requests once they are emailed to the team, are kept in our mailbox, which Google Workspace hosts.
If you are outside the United States, your data is transferred to and processed in the United States. For personal data from the European Economic Area, the United Kingdom or Switzerland, we rely on the Standard Contractual Clauses approved by the European Commission, with the UK Addendum and the Swiss adjustments where they apply. For customer data, they are part of the Data Processing Addendum.
7. How long we keep it
| Data | How long |
|---|---|
| Your account | While it is open. When you delete it, a 30-day grace period follows. Then your sign-in is deleted from Amazon Cognito; you are removed from every workspace and project; your organization role, your seat and your Slack links are removed; the notifications addressed to you are deleted; and your name and email address are replaced with an anonymous placeholder. What you did in a workspace — its audit entries, the tasks you raised, the agents you made — stays with the workspace under that placeholder, and so do the tool connections, API keys and machines you set up, so the workspace keeps working. When you ask for the deletion, each workspace’s owners and admins are told, with a list of what you set up there so they can replace it, and any approval waiting on you passes to them. |
| Early access requests | Until you ask us to delete yours. There is no automatic deletion. |
| Hashed network addresses from the early access form | Two days. They are cleared the next time the form is used after that. |
| Technical logs | 30 days. |
| Audit log | For the life of the workspace. Entries cannot be edited or deleted by FireFunc’s application or its staff console: the database roles they use can only add entries. Only the role that applies database migrations, which owns the log, keeps that right, because the database needs it to unlink an entry from a workspace or account that is deleted. Once an account is deleted, the entries it made point to the anonymous placeholder instead of the person, though an entry about an invitation still holds the email address the invitation was for. |
| Raw tool events (each delivery as a connected tool or webhook sent it) | 90 days, then deleted. |
| Attachment files kept with a task (images and PDFs) | 90 days; then the file is removed, and the task keeps its name and the link to where it lives. |
| What a run was handed: its brief, and the attachments and context sent with it | Dropped 7 days after the run finishes. The first line of what the run was asked, with code removed, stays with the run. |
| Slack links | Until your account is deleted, the workspace is erased, or you ask us to remove yours. |
| An agent’s saved versions: its configuration as each save left it, who saved it and when | Until the agent is deleted — its versions go with it — or the workspace is erased. |
| Everything else in a workspace: tasks (with the ticket’s details and the latest event about each), agents, runs and their steps, machines, settings | While the workspace exists. Deleting a workspace pauses its agents and archives it with its data; nothing is erased then, and the periods above keep applying. An owner can write to us at admin@firefunc.com to restore an archived workspace, or to have its data erased, which we do within 30 days of the request. Both are done by hand. |
| Backups | Automated database backups are kept for 7 days, so deleted data can remain in a backup for up to 7 more days. |
8. How we protect it
- The database is encrypted at rest and cannot be reached from the internet. All traffic to FireFunc travels over TLS.
- Each workspace’s data is kept apart by Postgres row-level security, enforced even for the tables’ owner.
- The tokens a tool issues when a customer connects it are encrypted with AWS Key Management Service and never sent to customer machines. API keys and webhook tokens are stored only as hashes.
- Passwords and multi-factor authentication are handled by Amazon Cognito. The staff console requires multi-factor sign-in.
FireFunc does not hold a security certification of its own; the certifications of Amazon Web Services cover the infrastructure layer only. The details are on our Security page.
If a breach affects customer data, we tell the customer without undue delay, and within 72 hours of confirming it, as the Data Processing Addendum sets out. If it affects data we control, we tell you and the authorities as the law requires.
9. Your rights, and how to use them
Depending on where you live — for example under the EU or UK GDPR, or a US state law such as California’s — you have the right to know what personal data we hold about you and to get a copy of it in a portable format; to have it corrected; to have it deleted; to object to or restrict our use of it where we rely on legitimate interests; and to complain to your data protection authority. We will not treat you differently for using any of these rights.
How to ask. Write to admin@firefunc.com from the email address on your account, or tell us how else to confirm who you are. We answer within 30 days, at no charge.
- Correct: change your name in Settings → Profile. To change your email address, write to us.
- Delete: choose Settings → Profile → Delete account. From then on you cannot sign in, and after the 30-day grace period your account is deleted and everything that gave you access — your workspaces and projects, your organization role, your seat and your Slack links — is removed, as described in How long we keep it. If you own a workspace, the request is refused until its ownership passes to someone else; there is no screen for that yet, so write to us and we will do it with you. If you change your mind, write to us before the 30 days are up.
- Get a copy: there is no export screen. Write to us and we will send you a copy within 30 days.
- An early access request: write to us to see it, change it or have it deleted.
- Data a customer sends through FireFunc: ask that customer, as Our two roles explains. We will help it answer you.
10. Children
FireFunc is for business use by people aged 18 or over. We do not knowingly collect personal data from anyone under 18. If we learn that we have, we delete it.
12. Changes to this policy
The date and version at the top of this page change whenever the policy does. If a change materially affects how we use your personal data, we will tell account holders by email before it takes effect. Earlier versions are available on request.
13. Contact
For any question about this policy or your data, and for every request described here, write to SoftHawker LLC at admin@firefunc.com. If you are in the European Economic Area or the United Kingdom, you can also complain to your local data protection authority.